summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/rustdoc-gui/README.md34
-rw-r--r--tests/rustdoc-gui/anchor-navigable.goml (renamed from src/test/rustdoc-gui/anchor-navigable.goml)0
-rw-r--r--tests/rustdoc-gui/anchors.goml109
-rw-r--r--tests/rustdoc-gui/auto-hide-trait-implementations.goml (renamed from src/test/rustdoc-gui/auto-hide-trait-implementations.goml)0
-rw-r--r--tests/rustdoc-gui/basic-code.goml6
-rw-r--r--tests/rustdoc-gui/check-code-blocks-margin.goml (renamed from src/test/rustdoc-gui/check-code-blocks-margin.goml)0
-rw-r--r--tests/rustdoc-gui/check-stab-in-docblock.goml (renamed from src/test/rustdoc-gui/check-stab-in-docblock.goml)0
-rw-r--r--tests/rustdoc-gui/check_info_sign_position.goml (renamed from src/test/rustdoc-gui/check_info_sign_position.goml)0
-rw-r--r--tests/rustdoc-gui/code-blocks-overflow.goml (renamed from src/test/rustdoc-gui/code-blocks-overflow.goml)0
-rw-r--r--tests/rustdoc-gui/code-color.goml24
-rw-r--r--tests/rustdoc-gui/code-sidebar-toggle.goml (renamed from src/test/rustdoc-gui/code-sidebar-toggle.goml)4
-rw-r--r--tests/rustdoc-gui/code-tags.goml (renamed from src/test/rustdoc-gui/code-tags.goml)10
-rw-r--r--tests/rustdoc-gui/codeblock-sub.goml5
-rw-r--r--tests/rustdoc-gui/codeblock-tooltip.goml (renamed from src/test/rustdoc-gui/codeblock-tooltip.goml)89
-rw-r--r--tests/rustdoc-gui/cursor.goml (renamed from src/test/rustdoc-gui/cursor.goml)6
-rw-r--r--tests/rustdoc-gui/default-settings.goml (renamed from src/test/rustdoc-gui/default-settings.goml)0
-rw-r--r--tests/rustdoc-gui/docblock-big-code-mobile.goml13
-rw-r--r--tests/rustdoc-gui/docblock-code-block-line-number.goml71
-rw-r--r--tests/rustdoc-gui/docblock-details.goml (renamed from src/test/rustdoc-gui/docblock-details.goml)0
-rw-r--r--tests/rustdoc-gui/docblock-table-overflow.goml (renamed from src/test/rustdoc-gui/docblock-table-overflow.goml)0
-rw-r--r--tests/rustdoc-gui/docblock-table.goml52
-rw-r--r--tests/rustdoc-gui/duplicate-macro-reexport.goml (renamed from src/test/rustdoc-gui/duplicate-macro-reexport.goml)0
-rw-r--r--tests/rustdoc-gui/enum-variants.goml (renamed from src/test/rustdoc-gui/enum-variants.goml)0
-rw-r--r--tests/rustdoc-gui/escape-key.goml (renamed from src/test/rustdoc-gui/escape-key.goml)2
-rw-r--r--tests/rustdoc-gui/font-weight.goml (renamed from src/test/rustdoc-gui/font-weight.goml)6
-rw-r--r--tests/rustdoc-gui/hash-item-expansion.goml (renamed from src/test/rustdoc-gui/hash-item-expansion.goml)0
-rw-r--r--tests/rustdoc-gui/headers-color.goml70
-rw-r--r--tests/rustdoc-gui/headings.goml (renamed from src/test/rustdoc-gui/headings.goml)54
-rw-r--r--tests/rustdoc-gui/help-page.goml (renamed from src/test/rustdoc-gui/help-page.goml)24
-rw-r--r--tests/rustdoc-gui/highlight-colors.goml94
-rw-r--r--tests/rustdoc-gui/huge-collection-of-constants.goml (renamed from src/test/rustdoc-gui/huge-collection-of-constants.goml)0
-rw-r--r--tests/rustdoc-gui/huge-logo.goml (renamed from src/test/rustdoc-gui/huge-logo.goml)0
-rw-r--r--tests/rustdoc-gui/impl-default-expansion.goml (renamed from src/test/rustdoc-gui/impl-default-expansion.goml)0
-rw-r--r--tests/rustdoc-gui/impl-doc.goml9
-rw-r--r--tests/rustdoc-gui/implementors.goml (renamed from src/test/rustdoc-gui/implementors.goml)6
-rw-r--r--tests/rustdoc-gui/item-decl-colors.goml80
-rw-r--r--tests/rustdoc-gui/item-info-alignment.goml (renamed from src/test/rustdoc-gui/item-info-alignment.goml)0
-rw-r--r--tests/rustdoc-gui/item-info-overflow.goml (renamed from src/test/rustdoc-gui/item-info-overflow.goml)0
-rw-r--r--tests/rustdoc-gui/item-info.goml (renamed from src/test/rustdoc-gui/item-info.goml)0
-rw-r--r--tests/rustdoc-gui/item-summary-table.goml (renamed from src/test/rustdoc-gui/item-summary-table.goml)0
-rw-r--r--tests/rustdoc-gui/javascript-disabled.goml (renamed from src/test/rustdoc-gui/javascript-disabled.goml)0
-rw-r--r--tests/rustdoc-gui/jump-to-def-background.goml (renamed from src/test/rustdoc-gui/jump-to-def-background.goml)12
-rw-r--r--tests/rustdoc-gui/label-next-to-symbol.goml (renamed from src/test/rustdoc-gui/label-next-to-symbol.goml)0
-rw-r--r--tests/rustdoc-gui/links-color.goml98
-rw-r--r--tests/rustdoc-gui/list_code_block.goml (renamed from src/test/rustdoc-gui/list_code_block.goml)2
-rw-r--r--tests/rustdoc-gui/method-margins.goml18
-rw-r--r--tests/rustdoc-gui/mobile.goml (renamed from src/test/rustdoc-gui/mobile.goml)6
-rw-r--r--tests/rustdoc-gui/module-items-font.goml (renamed from src/test/rustdoc-gui/module-items-font.goml)0
-rw-r--r--tests/rustdoc-gui/no-docblock.goml (renamed from src/test/rustdoc-gui/no-docblock.goml)0
-rw-r--r--tests/rustdoc-gui/notable-trait.goml (renamed from src/test/rustdoc-gui/notable-trait.goml)32
-rw-r--r--tests/rustdoc-gui/overflow-tooltip-information.goml (renamed from src/test/rustdoc-gui/overflow-tooltip-information.goml)0
-rw-r--r--tests/rustdoc-gui/pocket-menu.goml (renamed from src/test/rustdoc-gui/pocket-menu.goml)0
-rw-r--r--tests/rustdoc-gui/run-on-hover.goml (renamed from src/test/rustdoc-gui/run-on-hover.goml)22
-rw-r--r--tests/rustdoc-gui/rust-logo.goml58
-rw-r--r--tests/rustdoc-gui/scrape-examples-button-focus.goml (renamed from src/test/rustdoc-gui/scrape-examples-button-focus.goml)12
-rw-r--r--tests/rustdoc-gui/scrape-examples-color.goml60
-rw-r--r--tests/rustdoc-gui/scrape-examples-fonts.goml (renamed from src/test/rustdoc-gui/scrape-examples-fonts.goml)1
-rw-r--r--tests/rustdoc-gui/scrape-examples-layout.goml49
-rw-r--r--tests/rustdoc-gui/scrape-examples-toggle.goml51
-rw-r--r--tests/rustdoc-gui/search-filter.goml (renamed from src/test/rustdoc-gui/search-filter.goml)8
-rw-r--r--tests/rustdoc-gui/search-form-elements.goml (renamed from src/test/rustdoc-gui/search-form-elements.goml)0
-rw-r--r--tests/rustdoc-gui/search-input-mobile.goml (renamed from src/test/rustdoc-gui/search-input-mobile.goml)0
-rw-r--r--tests/rustdoc-gui/search-keyboard.goml (renamed from src/test/rustdoc-gui/search-keyboard.goml)2
-rw-r--r--tests/rustdoc-gui/search-no-result.goml36
-rw-r--r--tests/rustdoc-gui/search-reexport.goml (renamed from src/test/rustdoc-gui/search-reexport.goml)0
-rw-r--r--tests/rustdoc-gui/search-result-color.goml (renamed from src/test/rustdoc-gui/search-result-color.goml)112
-rw-r--r--tests/rustdoc-gui/search-result-description.goml (renamed from src/test/rustdoc-gui/search-result-description.goml)2
-rw-r--r--tests/rustdoc-gui/search-result-display.goml (renamed from src/test/rustdoc-gui/search-result-display.goml)22
-rw-r--r--tests/rustdoc-gui/search-result-go-to-first.goml (renamed from src/test/rustdoc-gui/search-result-go-to-first.goml)8
-rw-r--r--tests/rustdoc-gui/search-result-keyword.goml (renamed from src/test/rustdoc-gui/search-result-keyword.goml)2
-rw-r--r--tests/rustdoc-gui/search-tab-change-title-fn-sig.goml74
-rw-r--r--tests/rustdoc-gui/search-tab.goml76
-rw-r--r--tests/rustdoc-gui/settings.goml (renamed from src/test/rustdoc-gui/settings.goml)57
-rw-r--r--tests/rustdoc-gui/shortcuts.goml (renamed from src/test/rustdoc-gui/shortcuts.goml)0
-rw-r--r--tests/rustdoc-gui/sidebar-links-color.goml (renamed from src/test/rustdoc-gui/sidebar-links-color.goml)78
-rw-r--r--tests/rustdoc-gui/sidebar-macro-reexport.goml (renamed from src/test/rustdoc-gui/sidebar-macro-reexport.goml)0
-rw-r--r--tests/rustdoc-gui/sidebar-mobile-scroll.goml (renamed from src/test/rustdoc-gui/sidebar-mobile-scroll.goml)0
-rw-r--r--tests/rustdoc-gui/sidebar-mobile.goml (renamed from src/test/rustdoc-gui/sidebar-mobile.goml)14
-rw-r--r--tests/rustdoc-gui/sidebar-source-code-display.goml215
-rw-r--r--tests/rustdoc-gui/sidebar-source-code.goml90
-rw-r--r--tests/rustdoc-gui/sidebar.goml (renamed from src/test/rustdoc-gui/sidebar.goml)46
-rw-r--r--tests/rustdoc-gui/source-anchor-scroll.goml (renamed from src/test/rustdoc-gui/source-anchor-scroll.goml)0
-rw-r--r--tests/rustdoc-gui/source-code-page.goml218
-rw-r--r--tests/rustdoc-gui/src-font-size.goml (renamed from src/test/rustdoc-gui/src-font-size.goml)0
-rw-r--r--tests/rustdoc-gui/src/huge_logo/Cargo.lock (renamed from src/test/rustdoc-gui/src/huge_logo/Cargo.lock)0
-rw-r--r--tests/rustdoc-gui/src/huge_logo/Cargo.toml (renamed from src/test/rustdoc-gui/src/huge_logo/Cargo.toml)0
-rw-r--r--tests/rustdoc-gui/src/huge_logo/src/lib.rs (renamed from src/test/rustdoc-gui/src/huge_logo/src/lib.rs)0
-rw-r--r--tests/rustdoc-gui/src/lib2/Cargo.lock22
-rw-r--r--tests/rustdoc-gui/src/lib2/Cargo.toml11
-rw-r--r--tests/rustdoc-gui/src/lib2/another_folder/mod.rs (renamed from src/test/rustdoc-gui/src/lib2/another_folder/mod.rs)0
-rw-r--r--tests/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs (renamed from src/test/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs)0
-rw-r--r--tests/rustdoc-gui/src/lib2/another_mod/mod.rs (renamed from src/test/rustdoc-gui/src/lib2/another_mod/mod.rs)0
-rw-r--r--tests/rustdoc-gui/src/lib2/http/Cargo.toml7
-rw-r--r--tests/rustdoc-gui/src/lib2/http/lib.rs1
-rw-r--r--tests/rustdoc-gui/src/lib2/implementors/Cargo.lock (renamed from src/test/rustdoc-gui/src/lib2/implementors/Cargo.lock)0
-rw-r--r--tests/rustdoc-gui/src/lib2/implementors/Cargo.toml10
-rw-r--r--tests/rustdoc-gui/src/lib2/implementors/lib.rs22
-rw-r--r--tests/rustdoc-gui/src/lib2/lib.rs343
-rw-r--r--tests/rustdoc-gui/src/link_to_definition/Cargo.lock (renamed from src/test/rustdoc-gui/src/link_to_definition/Cargo.lock)0
-rw-r--r--tests/rustdoc-gui/src/link_to_definition/Cargo.toml (renamed from src/test/rustdoc-gui/src/link_to_definition/Cargo.toml)0
-rw-r--r--tests/rustdoc-gui/src/link_to_definition/lib.rs (renamed from src/test/rustdoc-gui/src/link_to_definition/lib.rs)0
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/Cargo.lock (renamed from src/test/rustdoc-gui/src/scrape_examples/Cargo.lock)0
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/Cargo.toml (renamed from src/test/rustdoc-gui/src/scrape_examples/Cargo.toml)0
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/examples/check-many-1.rs13
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/examples/check-many-2.rs13
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/examples/check-many-3.rs13
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/examples/check-many-4.rs13
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/examples/check-many-5.rs13
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/examples/check-many-6.rs13
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/examples/check-many-7.rs13
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/examples/check.rs (renamed from src/test/rustdoc-gui/src/scrape_examples/examples/check.rs)0
-rw-r--r--tests/rustdoc-gui/src/scrape_examples/src/lib.rs (renamed from src/test/rustdoc-gui/src/scrape_examples/src/lib.rs)0
-rw-r--r--tests/rustdoc-gui/src/settings/.cargo/config.toml (renamed from src/test/rustdoc-gui/src/settings/.cargo/config.toml)0
-rw-r--r--tests/rustdoc-gui/src/settings/Cargo.lock (renamed from src/test/rustdoc-gui/src/settings/Cargo.lock)0
-rw-r--r--tests/rustdoc-gui/src/settings/Cargo.toml (renamed from src/test/rustdoc-gui/src/settings/Cargo.toml)0
-rw-r--r--tests/rustdoc-gui/src/settings/lib.rs (renamed from src/test/rustdoc-gui/src/settings/lib.rs)0
-rw-r--r--tests/rustdoc-gui/src/staged_api/Cargo.lock (renamed from src/test/rustdoc-gui/src/staged_api/Cargo.lock)0
-rw-r--r--tests/rustdoc-gui/src/staged_api/Cargo.toml (renamed from src/test/rustdoc-gui/src/staged_api/Cargo.toml)0
-rw-r--r--tests/rustdoc-gui/src/staged_api/lib.rs (renamed from src/test/rustdoc-gui/src/staged_api/lib.rs)0
-rw-r--r--tests/rustdoc-gui/src/test_docs/Cargo.lock (renamed from src/test/rustdoc-gui/src/test_docs/Cargo.lock)0
-rw-r--r--tests/rustdoc-gui/src/test_docs/Cargo.toml (renamed from src/test/rustdoc-gui/src/test_docs/Cargo.toml)0
-rw-r--r--tests/rustdoc-gui/src/test_docs/build.rs (renamed from src/test/rustdoc-gui/src/test_docs/build.rs)0
-rw-r--r--tests/rustdoc-gui/src/test_docs/lib.rs476
-rw-r--r--tests/rustdoc-gui/src/test_docs/macros.rs (renamed from src/test/rustdoc-gui/src/test_docs/macros.rs)0
-rw-r--r--tests/rustdoc-gui/stab-badge.goml41
-rw-r--r--tests/rustdoc-gui/struct-fields.goml5
-rw-r--r--tests/rustdoc-gui/target.goml (renamed from src/test/rustdoc-gui/target.goml)12
-rw-r--r--tests/rustdoc-gui/theme-change.goml (renamed from src/test/rustdoc-gui/theme-change.goml)0
-rw-r--r--tests/rustdoc-gui/theme-in-history.goml (renamed from src/test/rustdoc-gui/theme-in-history.goml)0
-rw-r--r--tests/rustdoc-gui/toggle-click-deadspace.goml15
-rw-r--r--tests/rustdoc-gui/toggle-docs-mobile.goml (renamed from src/test/rustdoc-gui/toggle-docs-mobile.goml)0
-rw-r--r--tests/rustdoc-gui/toggle-docs.goml75
-rw-r--r--tests/rustdoc-gui/toggle-implementors.goml (renamed from src/test/rustdoc-gui/toggle-implementors.goml)0
-rw-r--r--tests/rustdoc-gui/toggled-open-implementations.goml (renamed from src/test/rustdoc-gui/toggled-open-implementations.goml)2
-rw-r--r--tests/rustdoc-gui/trait-sidebar-item-order.goml (renamed from src/test/rustdoc-gui/trait-sidebar-item-order.goml)0
-rw-r--r--tests/rustdoc-gui/type-declation-overflow.goml (renamed from src/test/rustdoc-gui/type-declation-overflow.goml)16
-rw-r--r--tests/rustdoc-gui/unsafe-fn.goml (renamed from src/test/rustdoc-gui/unsafe-fn.goml)10
-rw-r--r--tests/rustdoc-gui/where-whitespace.goml (renamed from src/test/rustdoc-gui/where-whitespace.goml)0
-rw-r--r--tests/rustdoc-js-std/alias-1.js (renamed from src/test/rustdoc-js-std/alias-1.js)0
-rw-r--r--tests/rustdoc-js-std/alias-2.js (renamed from src/test/rustdoc-js-std/alias-2.js)0
-rw-r--r--tests/rustdoc-js-std/alias-3.js (renamed from src/test/rustdoc-js-std/alias-3.js)0
-rw-r--r--tests/rustdoc-js-std/alias-4.js (renamed from src/test/rustdoc-js-std/alias-4.js)0
-rw-r--r--tests/rustdoc-js-std/alias.js (renamed from src/test/rustdoc-js-std/alias.js)0
-rw-r--r--tests/rustdoc-js-std/asrawfd.js (renamed from src/test/rustdoc-js-std/asrawfd.js)0
-rw-r--r--tests/rustdoc-js-std/basic.js (renamed from src/test/rustdoc-js-std/basic.js)0
-rw-r--r--tests/rustdoc-js-std/deduplication.js (renamed from src/test/rustdoc-js-std/deduplication.js)0
-rw-r--r--tests/rustdoc-js-std/enum-option.js (renamed from src/test/rustdoc-js-std/enum-option.js)0
-rw-r--r--tests/rustdoc-js-std/filter-crate.js (renamed from src/test/rustdoc-js-std/filter-crate.js)0
-rw-r--r--tests/rustdoc-js-std/fn-forget.js (renamed from src/test/rustdoc-js-std/fn-forget.js)0
-rw-r--r--tests/rustdoc-js-std/from_u.js (renamed from src/test/rustdoc-js-std/from_u.js)0
-rw-r--r--tests/rustdoc-js-std/keyword.js (renamed from src/test/rustdoc-js-std/keyword.js)0
-rw-r--r--tests/rustdoc-js-std/macro-check.js (renamed from src/test/rustdoc-js-std/macro-check.js)0
-rw-r--r--tests/rustdoc-js-std/macro-print.js (renamed from src/test/rustdoc-js-std/macro-print.js)2
-rw-r--r--tests/rustdoc-js-std/never.js (renamed from src/test/rustdoc-js-std/never.js)0
-rw-r--r--tests/rustdoc-js-std/parser-errors.js (renamed from src/test/rustdoc-js-std/parser-errors.js)0
-rw-r--r--tests/rustdoc-js-std/parser-filter.js (renamed from src/test/rustdoc-js-std/parser-filter.js)0
-rw-r--r--tests/rustdoc-js-std/parser-generics.js (renamed from src/test/rustdoc-js-std/parser-generics.js)0
-rw-r--r--tests/rustdoc-js-std/parser-ident.js (renamed from src/test/rustdoc-js-std/parser-ident.js)0
-rw-r--r--tests/rustdoc-js-std/parser-literal.js (renamed from src/test/rustdoc-js-std/parser-literal.js)0
-rw-r--r--tests/rustdoc-js-std/parser-paths.js (renamed from src/test/rustdoc-js-std/parser-paths.js)0
-rw-r--r--tests/rustdoc-js-std/parser-quote.js (renamed from src/test/rustdoc-js-std/parser-quote.js)0
-rw-r--r--tests/rustdoc-js-std/parser-returned.js (renamed from src/test/rustdoc-js-std/parser-returned.js)0
-rw-r--r--tests/rustdoc-js-std/parser-separators.js (renamed from src/test/rustdoc-js-std/parser-separators.js)0
-rw-r--r--tests/rustdoc-js-std/parser-weird-queries.js (renamed from src/test/rustdoc-js-std/parser-weird-queries.js)0
-rw-r--r--tests/rustdoc-js-std/path-ordering.js (renamed from src/test/rustdoc-js-std/path-ordering.js)0
-rw-r--r--tests/rustdoc-js-std/primitive.js (renamed from src/test/rustdoc-js-std/primitive.js)0
-rw-r--r--tests/rustdoc-js-std/quoted.js (renamed from src/test/rustdoc-js-std/quoted.js)0
-rw-r--r--tests/rustdoc-js-std/return-specific-literal.js (renamed from src/test/rustdoc-js-std/return-specific-literal.js)0
-rw-r--r--tests/rustdoc-js-std/return-specific.js (renamed from src/test/rustdoc-js-std/return-specific.js)0
-rw-r--r--tests/rustdoc-js-std/should-fail.js (renamed from src/test/rustdoc-js-std/should-fail.js)0
-rw-r--r--tests/rustdoc-js-std/string-from_ut.js (renamed from src/test/rustdoc-js-std/string-from_ut.js)0
-rw-r--r--tests/rustdoc-js-std/struct-vec.js (renamed from src/test/rustdoc-js-std/struct-vec.js)0
-rw-r--r--tests/rustdoc-js-std/typed-query.js (renamed from src/test/rustdoc-js-std/typed-query.js)2
-rw-r--r--tests/rustdoc-js-std/vec-new.js10
-rw-r--r--tests/rustdoc-js/basic.js (renamed from src/test/rustdoc-js/basic.js)0
-rw-r--r--tests/rustdoc-js/basic.rs (renamed from src/test/rustdoc-js/basic.rs)0
-rw-r--r--tests/rustdoc-js/doc-alias-filter-out.js (renamed from src/test/rustdoc-js/doc-alias-filter-out.js)0
-rw-r--r--tests/rustdoc-js/doc-alias-filter-out.rs (renamed from src/test/rustdoc-js/doc-alias-filter-out.rs)0
-rw-r--r--tests/rustdoc-js/doc-alias-filter.js (renamed from src/test/rustdoc-js/doc-alias-filter.js)0
-rw-r--r--tests/rustdoc-js/doc-alias-filter.rs (renamed from src/test/rustdoc-js/doc-alias-filter.rs)0
-rw-r--r--tests/rustdoc-js/doc-alias-whitespace.js (renamed from src/test/rustdoc-js/doc-alias-whitespace.js)0
-rw-r--r--tests/rustdoc-js/doc-alias-whitespace.rs (renamed from src/test/rustdoc-js/doc-alias-whitespace.rs)0
-rw-r--r--tests/rustdoc-js/doc-alias.js (renamed from src/test/rustdoc-js/doc-alias.js)0
-rw-r--r--tests/rustdoc-js/doc-alias.rs (renamed from src/test/rustdoc-js/doc-alias.rs)0
-rw-r--r--tests/rustdoc-js/exact-match.js (renamed from src/test/rustdoc-js/exact-match.js)0
-rw-r--r--tests/rustdoc-js/exact-match.rs (renamed from src/test/rustdoc-js/exact-match.rs)0
-rw-r--r--tests/rustdoc-js/foreign-type-path.js (renamed from src/test/rustdoc-js/foreign-type-path.js)0
-rw-r--r--tests/rustdoc-js/foreign-type-path.rs (renamed from src/test/rustdoc-js/foreign-type-path.rs)0
-rw-r--r--tests/rustdoc-js/generics-impl.js (renamed from src/test/rustdoc-js/generics-impl.js)0
-rw-r--r--tests/rustdoc-js/generics-impl.rs (renamed from src/test/rustdoc-js/generics-impl.rs)0
-rw-r--r--tests/rustdoc-js/generics-multi-trait.js (renamed from src/test/rustdoc-js/generics-multi-trait.js)0
-rw-r--r--tests/rustdoc-js/generics-multi-trait.rs (renamed from src/test/rustdoc-js/generics-multi-trait.rs)0
-rw-r--r--tests/rustdoc-js/generics-trait.js (renamed from src/test/rustdoc-js/generics-trait.js)0
-rw-r--r--tests/rustdoc-js/generics-trait.rs (renamed from src/test/rustdoc-js/generics-trait.rs)0
-rw-r--r--tests/rustdoc-js/generics.js (renamed from src/test/rustdoc-js/generics.js)0
-rw-r--r--tests/rustdoc-js/generics.rs (renamed from src/test/rustdoc-js/generics.rs)0
-rw-r--r--tests/rustdoc-js/impl-trait.js (renamed from src/test/rustdoc-js/impl-trait.js)0
-rw-r--r--tests/rustdoc-js/impl-trait.rs (renamed from src/test/rustdoc-js/impl-trait.rs)0
-rw-r--r--tests/rustdoc-js/module-substring.js (renamed from src/test/rustdoc-js/module-substring.js)0
-rw-r--r--tests/rustdoc-js/module-substring.rs (renamed from src/test/rustdoc-js/module-substring.rs)0
-rw-r--r--tests/rustdoc-js/path-ordering.js (renamed from src/test/rustdoc-js/path-ordering.js)0
-rw-r--r--tests/rustdoc-js/path-ordering.rs (renamed from src/test/rustdoc-js/path-ordering.rs)0
-rw-r--r--tests/rustdoc-js/primitive.js (renamed from src/test/rustdoc-js/primitive.js)0
-rw-r--r--tests/rustdoc-js/primitive.rs (renamed from src/test/rustdoc-js/primitive.rs)0
-rw-r--r--tests/rustdoc-js/prototype.js (renamed from src/test/rustdoc-js/prototype.js)0
-rw-r--r--tests/rustdoc-js/prototype.rs (renamed from src/test/rustdoc-js/prototype.rs)0
-rw-r--r--tests/rustdoc-js/raw-pointer.js (renamed from src/test/rustdoc-js/raw-pointer.js)0
-rw-r--r--tests/rustdoc-js/raw-pointer.rs (renamed from src/test/rustdoc-js/raw-pointer.rs)0
-rw-r--r--tests/rustdoc-js/reexport.js (renamed from src/test/rustdoc-js/reexport.js)0
-rw-r--r--tests/rustdoc-js/reexport.rs (renamed from src/test/rustdoc-js/reexport.rs)0
-rw-r--r--tests/rustdoc-js/search-short-types.js9
-rw-r--r--tests/rustdoc-js/search-short-types.rs (renamed from src/test/rustdoc-js/search-short-types.rs)0
-rw-r--r--tests/rustdoc-js/struct-like-variant.js (renamed from src/test/rustdoc-js/struct-like-variant.js)0
-rw-r--r--tests/rustdoc-js/struct-like-variant.rs (renamed from src/test/rustdoc-js/struct-like-variant.rs)0
-rw-r--r--tests/rustdoc-js/substring.js (renamed from src/test/rustdoc-js/substring.js)0
-rw-r--r--tests/rustdoc-js/substring.rs (renamed from src/test/rustdoc-js/substring.rs)0
-rw-r--r--tests/rustdoc-js/summaries.js (renamed from src/test/rustdoc-js/summaries.js)0
-rw-r--r--tests/rustdoc-js/summaries.rs (renamed from src/test/rustdoc-js/summaries.rs)0
-rw-r--r--tests/rustdoc-json/assoc_items.rs (renamed from src/test/rustdoc-json/assoc_items.rs)0
-rw-r--r--tests/rustdoc-json/assoc_type.rs (renamed from src/test/rustdoc-json/assoc_type.rs)0
-rw-r--r--tests/rustdoc-json/blanket_impls.rs (renamed from src/test/rustdoc-json/blanket_impls.rs)0
-rw-r--r--tests/rustdoc-json/doc_hidden_failure.rs (renamed from src/test/rustdoc-json/doc_hidden_failure.rs)3
-rw-r--r--tests/rustdoc-json/enums/auxiliary/color.rs (renamed from src/test/rustdoc-json/enums/auxiliary/color.rs)0
-rw-r--r--tests/rustdoc-json/enums/discriminant/basic.rs12
-rw-r--r--tests/rustdoc-json/enums/discriminant/expr.rs39
-rw-r--r--tests/rustdoc-json/enums/discriminant/limits.rs43
-rw-r--r--tests/rustdoc-json/enums/discriminant/num_underscore_and_suffix.rs15
-rw-r--r--tests/rustdoc-json/enums/discriminant/only_some_have_discriminant.rs10
-rw-r--r--tests/rustdoc-json/enums/discriminant/struct.rs15
-rw-r--r--tests/rustdoc-json/enums/discriminant/tuple.rs15
-rw-r--r--tests/rustdoc-json/enums/doc_link_to_foreign_variant.rs (renamed from src/test/rustdoc-json/enums/doc_link_to_foreign_variant.rs)0
-rw-r--r--tests/rustdoc-json/enums/field_hidden.rs13
-rw-r--r--tests/rustdoc-json/enums/kind.rs32
-rw-r--r--tests/rustdoc-json/enums/struct_field_hidden.rs16
-rw-r--r--tests/rustdoc-json/enums/tuple_fields_hidden.rs83
-rw-r--r--tests/rustdoc-json/enums/use_glob.rs (renamed from src/test/rustdoc-json/enums/use_glob.rs)0
-rw-r--r--tests/rustdoc-json/enums/use_variant.rs (renamed from src/test/rustdoc-json/enums/use_variant.rs)0
-rw-r--r--tests/rustdoc-json/enums/use_variant_foreign.rs (renamed from src/test/rustdoc-json/enums/use_variant_foreign.rs)0
-rw-r--r--tests/rustdoc-json/enums/variant_struct.rs10
-rw-r--r--tests/rustdoc-json/enums/variant_tuple_struct.rs10
-rw-r--r--tests/rustdoc-json/fn_pointer/abi.rs (renamed from src/test/rustdoc-json/fn_pointer/abi.rs)0
-rw-r--r--tests/rustdoc-json/fn_pointer/generics.rs (renamed from src/test/rustdoc-json/fn_pointer/generics.rs)0
-rw-r--r--tests/rustdoc-json/fn_pointer/qualifiers.rs (renamed from src/test/rustdoc-json/fn_pointer/qualifiers.rs)0
-rw-r--r--tests/rustdoc-json/fns/abi.rs (renamed from src/test/rustdoc-json/fns/abi.rs)0
-rw-r--r--tests/rustdoc-json/fns/async_return.rs (renamed from src/test/rustdoc-json/fns/async_return.rs)0
-rw-r--r--tests/rustdoc-json/fns/generic_args.rs (renamed from src/test/rustdoc-json/fns/generic_args.rs)0
-rw-r--r--tests/rustdoc-json/fns/generic_returns.rs (renamed from src/test/rustdoc-json/fns/generic_returns.rs)0
-rw-r--r--tests/rustdoc-json/fns/generics.rs (renamed from src/test/rustdoc-json/fns/generics.rs)0
-rw-r--r--tests/rustdoc-json/fns/pattern_arg.rs (renamed from src/test/rustdoc-json/fns/pattern_arg.rs)0
-rw-r--r--tests/rustdoc-json/fns/qualifiers.rs (renamed from src/test/rustdoc-json/fns/qualifiers.rs)0
-rw-r--r--tests/rustdoc-json/fns/return_type_alias.rs (renamed from src/test/rustdoc-json/fns/return_type_alias.rs)0
-rw-r--r--tests/rustdoc-json/generic-associated-types/gats.rs (renamed from src/test/rustdoc-json/generic-associated-types/gats.rs)0
-rw-r--r--tests/rustdoc-json/generic_impl.rs (renamed from src/test/rustdoc-json/generic_impl.rs)0
-rw-r--r--tests/rustdoc-json/glob_import.rs (renamed from src/test/rustdoc-json/glob_import.rs)0
-rw-r--r--tests/rustdoc-json/impls/auto.rs (renamed from src/test/rustdoc-json/impls/auto.rs)0
-rw-r--r--tests/rustdoc-json/impls/auxiliary/foreign_struct.rs (renamed from src/test/rustdoc-json/impls/auxiliary/foreign_struct.rs)0
-rw-r--r--tests/rustdoc-json/impls/auxiliary/foreign_trait.rs (renamed from src/test/rustdoc-json/impls/auxiliary/foreign_trait.rs)0
-rw-r--r--tests/rustdoc-json/impls/blanket_with_local.rs (renamed from src/test/rustdoc-json/impls/blanket_with_local.rs)0
-rw-r--r--tests/rustdoc-json/impls/foreign_for_local.rs (renamed from src/test/rustdoc-json/impls/foreign_for_local.rs)0
-rw-r--r--tests/rustdoc-json/impls/import_from_private.rs (renamed from src/test/rustdoc-json/impls/import_from_private.rs)0
-rw-r--r--tests/rustdoc-json/impls/local_for_foreign.rs (renamed from src/test/rustdoc-json/impls/local_for_foreign.rs)0
-rw-r--r--tests/rustdoc-json/impls/local_for_local.rs (renamed from src/test/rustdoc-json/impls/local_for_local.rs)0
-rw-r--r--tests/rustdoc-json/impls/local_for_local_primitive.rs (renamed from src/test/rustdoc-json/impls/local_for_local_primitive.rs)0
-rw-r--r--tests/rustdoc-json/impls/local_for_primitive.rs (renamed from src/test/rustdoc-json/impls/local_for_primitive.rs)0
-rw-r--r--tests/rustdoc-json/intra-doc-links/auxiliary/enum_variant_in_trait_method.rs (renamed from src/test/rustdoc-json/intra-doc-links/auxiliary/enum_variant_in_trait_method.rs)0
-rw-r--r--tests/rustdoc-json/intra-doc-links/foreign_variant.rs (renamed from src/test/rustdoc-json/intra-doc-links/foreign_variant.rs)0
-rw-r--r--tests/rustdoc-json/intra-doc-links/non_page.rs (renamed from src/test/rustdoc-json/intra-doc-links/non_page.rs)0
-rw-r--r--tests/rustdoc-json/intra-doc-links/user_written.rs (renamed from src/test/rustdoc-json/intra-doc-links/user_written.rs)0
-rw-r--r--tests/rustdoc-json/keyword.rs (renamed from src/test/rustdoc-json/keyword.rs)0
-rw-r--r--tests/rustdoc-json/lifetime/longest.rs (renamed from src/test/rustdoc-json/lifetime/longest.rs)0
-rw-r--r--tests/rustdoc-json/lifetime/outlives.rs (renamed from src/test/rustdoc-json/lifetime/outlives.rs)0
-rw-r--r--tests/rustdoc-json/methods/abi.rs (renamed from src/test/rustdoc-json/methods/abi.rs)0
-rw-r--r--tests/rustdoc-json/methods/qualifiers.rs (renamed from src/test/rustdoc-json/methods/qualifiers.rs)0
-rw-r--r--tests/rustdoc-json/nested.rs (renamed from src/test/rustdoc-json/nested.rs)0
-rw-r--r--tests/rustdoc-json/output_generics.rs (renamed from src/test/rustdoc-json/output_generics.rs)0
-rw-r--r--tests/rustdoc-json/primitives/local_primitive.rs21
-rw-r--r--tests/rustdoc-json/primitives/primitive_impls.rs (renamed from src/test/rustdoc-json/primitives/primitive_impls.rs)0
-rw-r--r--tests/rustdoc-json/primitives/primitive_overloading.rs (renamed from src/test/rustdoc-json/primitives/primitive_overloading.rs)0
-rw-r--r--tests/rustdoc-json/primitives/primitive_type.rs (renamed from src/test/rustdoc-json/primitives/primitive_type.rs)0
-rw-r--r--tests/rustdoc-json/primitives/use_primitive.rs (renamed from src/test/rustdoc-json/primitives/use_primitive.rs)0
-rw-r--r--tests/rustdoc-json/reexport/auxiliary/pub-struct.rs (renamed from src/test/rustdoc-json/reexport/auxiliary/pub-struct.rs)0
-rw-r--r--tests/rustdoc-json/reexport/auxiliary/trait_with_docs.rs (renamed from src/test/rustdoc-json/reexport/auxiliary/trait_with_docs.rs)0
-rw-r--r--tests/rustdoc-json/reexport/export_extern_crate_as_self.rs (renamed from src/test/rustdoc-json/reexport/export_extern_crate_as_self.rs)0
-rw-r--r--tests/rustdoc-json/reexport/glob_collision.rs (renamed from src/test/rustdoc-json/reexport/glob_collision.rs)0
-rw-r--r--tests/rustdoc-json/reexport/glob_empty_mod.rs (renamed from src/test/rustdoc-json/reexport/glob_empty_mod.rs)0
-rw-r--r--tests/rustdoc-json/reexport/glob_extern.rs (renamed from src/test/rustdoc-json/reexport/glob_extern.rs)0
-rw-r--r--tests/rustdoc-json/reexport/glob_private.rs (renamed from src/test/rustdoc-json/reexport/glob_private.rs)0
-rw-r--r--tests/rustdoc-json/reexport/in_root_and_mod.rs (renamed from src/test/rustdoc-json/reexport/in_root_and_mod.rs)0
-rw-r--r--tests/rustdoc-json/reexport/in_root_and_mod_pub.rs (renamed from src/test/rustdoc-json/reexport/in_root_and_mod_pub.rs)0
-rw-r--r--tests/rustdoc-json/reexport/macro.rs (renamed from src/test/rustdoc-json/reexport/macro.rs)0
-rw-r--r--tests/rustdoc-json/reexport/mod_not_included.rs (renamed from src/test/rustdoc-json/reexport/mod_not_included.rs)0
-rw-r--r--tests/rustdoc-json/reexport/private_twice_one_inline.rs (renamed from src/test/rustdoc-json/reexport/private_twice_one_inline.rs)0
-rw-r--r--tests/rustdoc-json/reexport/private_two_names.rs (renamed from src/test/rustdoc-json/reexport/private_two_names.rs)0
-rw-r--r--tests/rustdoc-json/reexport/pub_use_doc_hidden.rs15
-rw-r--r--tests/rustdoc-json/reexport/reexport_method_from_private_module.rs (renamed from src/test/rustdoc-json/reexport/reexport_method_from_private_module.rs)0
-rw-r--r--tests/rustdoc-json/reexport/rename_private.rs (renamed from src/test/rustdoc-json/reexport/rename_private.rs)0
-rw-r--r--tests/rustdoc-json/reexport/rename_public.rs (renamed from src/test/rustdoc-json/reexport/rename_public.rs)0
-rw-r--r--tests/rustdoc-json/reexport/same_type_reexported_more_than_once.rs (renamed from src/test/rustdoc-json/reexport/same_type_reexported_more_than_once.rs)0
-rw-r--r--tests/rustdoc-json/reexport/simple_private.rs (renamed from src/test/rustdoc-json/reexport/simple_private.rs)0
-rw-r--r--tests/rustdoc-json/reexport/simple_public.rs (renamed from src/test/rustdoc-json/reexport/simple_public.rs)0
-rw-r--r--tests/rustdoc-json/reexport/synthesize_trait_with_docs.rs (renamed from src/test/rustdoc-json/reexport/synthesize_trait_with_docs.rs)0
-rw-r--r--tests/rustdoc-json/return_private.rs (renamed from src/test/rustdoc-json/return_private.rs)0
-rw-r--r--tests/rustdoc-json/stripped_modules.rs (renamed from src/test/rustdoc-json/stripped_modules.rs)0
-rw-r--r--tests/rustdoc-json/structs/plain_all_pub.rs (renamed from src/test/rustdoc-json/structs/plain_all_pub.rs)0
-rw-r--r--tests/rustdoc-json/structs/plain_doc_hidden.rs (renamed from src/test/rustdoc-json/structs/plain_doc_hidden.rs)0
-rw-r--r--tests/rustdoc-json/structs/plain_empty.rs (renamed from src/test/rustdoc-json/structs/plain_empty.rs)0
-rw-r--r--tests/rustdoc-json/structs/plain_pub_priv.rs (renamed from src/test/rustdoc-json/structs/plain_pub_priv.rs)0
-rw-r--r--tests/rustdoc-json/structs/tuple.rs (renamed from src/test/rustdoc-json/structs/tuple.rs)0
-rw-r--r--tests/rustdoc-json/structs/tuple_empty.rs (renamed from src/test/rustdoc-json/structs/tuple_empty.rs)0
-rw-r--r--tests/rustdoc-json/structs/tuple_pub_priv.rs (renamed from src/test/rustdoc-json/structs/tuple_pub_priv.rs)0
-rw-r--r--tests/rustdoc-json/structs/unit.rs (renamed from src/test/rustdoc-json/structs/unit.rs)0
-rw-r--r--tests/rustdoc-json/structs/with_generics.rs (renamed from src/test/rustdoc-json/structs/with_generics.rs)0
-rw-r--r--tests/rustdoc-json/structs/with_primitives.rs (renamed from src/test/rustdoc-json/structs/with_primitives.rs)0
-rw-r--r--tests/rustdoc-json/traits/has_body.rs (renamed from src/test/rustdoc-json/traits/has_body.rs)0
-rw-r--r--tests/rustdoc-json/traits/implementors.rs (renamed from src/test/rustdoc-json/traits/implementors.rs)0
-rw-r--r--tests/rustdoc-json/traits/supertrait.rs (renamed from src/test/rustdoc-json/traits/supertrait.rs)0
-rw-r--r--tests/rustdoc-json/traits/trait_alias.rs (renamed from src/test/rustdoc-json/traits/trait_alias.rs)0
-rw-r--r--tests/rustdoc-json/traits/uses_extern_trait.rs (renamed from src/test/rustdoc-json/traits/uses_extern_trait.rs)0
-rw-r--r--tests/rustdoc-json/type/dyn.rs (renamed from src/test/rustdoc-json/type/dyn.rs)0
-rw-r--r--tests/rustdoc-json/type/extern.rs (renamed from src/test/rustdoc-json/type/extern.rs)0
-rw-r--r--tests/rustdoc-json/type/fn_lifetime.rs (renamed from src/test/rustdoc-json/type/fn_lifetime.rs)0
-rw-r--r--tests/rustdoc-json/type/generic_default.rs (renamed from src/test/rustdoc-json/type/generic_default.rs)0
-rw-r--r--tests/rustdoc-json/type/hrtb.rs (renamed from src/test/rustdoc-json/type/hrtb.rs)0
-rw-r--r--tests/rustdoc-json/unions/impl.rs (renamed from src/test/rustdoc-json/unions/impl.rs)0
-rw-r--r--tests/rustdoc-json/unions/union.rs (renamed from src/test/rustdoc-json/unions/union.rs)0
-rw-r--r--tests/rustdoc-ui/ambiguous-inherent-assoc-ty.rs (renamed from src/test/rustdoc-ui/ambiguous-inherent-assoc-ty.rs)0
-rw-r--r--tests/rustdoc-ui/assoc-item-not-in-scope.rs (renamed from src/test/rustdoc-ui/assoc-item-not-in-scope.rs)0
-rw-r--r--tests/rustdoc-ui/assoc-item-not-in-scope.stderr (renamed from src/test/rustdoc-ui/assoc-item-not-in-scope.stderr)0
-rw-r--r--tests/rustdoc-ui/auxiliary/empty-fn.rs (renamed from src/test/rustdoc-ui/auxiliary/empty-fn.rs)0
-rw-r--r--tests/rustdoc-ui/auxiliary/extern_macros.rs (renamed from src/test/rustdoc-ui/auxiliary/extern_macros.rs)0
-rw-r--r--tests/rustdoc-ui/auxiliary/issue-61592.rs (renamed from src/test/rustdoc-ui/auxiliary/issue-61592.rs)0
-rw-r--r--tests/rustdoc-ui/auxiliary/module_macro_doc.rs (renamed from src/test/rustdoc-ui/auxiliary/module_macro_doc.rs)0
-rw-r--r--tests/rustdoc-ui/auxiliary/overflow.rs (renamed from src/test/rustdoc-ui/auxiliary/overflow.rs)0
-rw-r--r--tests/rustdoc-ui/auxiliary/panic-item.rs (renamed from src/test/rustdoc-ui/auxiliary/panic-item.rs)0
-rw-r--r--tests/rustdoc-ui/bare-urls.fixed (renamed from src/test/rustdoc-ui/bare-urls.fixed)0
-rw-r--r--tests/rustdoc-ui/bare-urls.rs (renamed from src/test/rustdoc-ui/bare-urls.rs)0
-rw-r--r--tests/rustdoc-ui/bare-urls.stderr (renamed from src/test/rustdoc-ui/bare-urls.stderr)0
-rw-r--r--tests/rustdoc-ui/block-doc-comment.rs (renamed from src/test/rustdoc-ui/block-doc-comment.rs)0
-rw-r--r--tests/rustdoc-ui/block-doc-comment.stdout (renamed from src/test/rustdoc-ui/block-doc-comment.stdout)0
-rw-r--r--tests/rustdoc-ui/bounded-hr-lifetime.rs (renamed from src/test/rustdoc-ui/bounded-hr-lifetime.rs)0
-rw-r--r--tests/rustdoc-ui/bounded-hr-lifetime.stderr (renamed from src/test/rustdoc-ui/bounded-hr-lifetime.stderr)0
-rw-r--r--tests/rustdoc-ui/c-help.rs (renamed from src/test/rustdoc-ui/c-help.rs)0
-rw-r--r--tests/rustdoc-ui/c-help.stdout (renamed from src/test/rustdoc-ui/c-help.stdout)0
-rw-r--r--tests/rustdoc-ui/cfg-test.rs (renamed from src/test/rustdoc-ui/cfg-test.rs)2
-rw-r--r--tests/rustdoc-ui/cfg-test.stdout (renamed from src/test/rustdoc-ui/cfg-test.stdout)0
-rw-r--r--tests/rustdoc-ui/check-attr-test.rs (renamed from src/test/rustdoc-ui/check-attr-test.rs)0
-rw-r--r--tests/rustdoc-ui/check-attr-test.stderr (renamed from src/test/rustdoc-ui/check-attr-test.stderr)0
-rw-r--r--tests/rustdoc-ui/check-attr.rs (renamed from src/test/rustdoc-ui/check-attr.rs)0
-rw-r--r--tests/rustdoc-ui/check-attr.stderr (renamed from src/test/rustdoc-ui/check-attr.stderr)0
-rw-r--r--tests/rustdoc-ui/check-cfg-test.rs12
-rw-r--r--tests/rustdoc-ui/check-cfg-test.stderr (renamed from src/test/rustdoc-ui/check-cfg-test.stderr)0
-rw-r--r--tests/rustdoc-ui/check-cfg-test.stdout (renamed from src/test/rustdoc-ui/check-cfg-test.stdout)0
-rw-r--r--tests/rustdoc-ui/check-cfg-unstable.rs (renamed from src/test/rustdoc-ui/check-cfg-unstable.rs)0
-rw-r--r--tests/rustdoc-ui/check-cfg-unstable.stderr (renamed from src/test/rustdoc-ui/check-cfg-unstable.stderr)0
-rw-r--r--tests/rustdoc-ui/check-cfg.rs (renamed from src/test/rustdoc-ui/check-cfg.rs)0
-rw-r--r--tests/rustdoc-ui/check-cfg.stderr (renamed from src/test/rustdoc-ui/check-cfg.stderr)0
-rw-r--r--tests/rustdoc-ui/check-doc-alias-attr-location.rs (renamed from src/test/rustdoc-ui/check-doc-alias-attr-location.rs)0
-rw-r--r--tests/rustdoc-ui/check-doc-alias-attr-location.stderr (renamed from src/test/rustdoc-ui/check-doc-alias-attr-location.stderr)0
-rw-r--r--tests/rustdoc-ui/check-doc-alias-attr.rs (renamed from src/test/rustdoc-ui/check-doc-alias-attr.rs)0
-rw-r--r--tests/rustdoc-ui/check-doc-alias-attr.stderr (renamed from src/test/rustdoc-ui/check-doc-alias-attr.stderr)0
-rw-r--r--tests/rustdoc-ui/check-fail.rs (renamed from src/test/rustdoc-ui/check-fail.rs)0
-rw-r--r--tests/rustdoc-ui/check-fail.stderr (renamed from src/test/rustdoc-ui/check-fail.stderr)0
-rw-r--r--tests/rustdoc-ui/check.rs (renamed from src/test/rustdoc-ui/check.rs)0
-rw-r--r--tests/rustdoc-ui/check.stderr (renamed from src/test/rustdoc-ui/check.stderr)0
-rw-r--r--tests/rustdoc-ui/commandline-argfile-badutf8.args (renamed from src/test/rustdoc-ui/commandline-argfile-badutf8.args)0
-rw-r--r--tests/rustdoc-ui/commandline-argfile-badutf8.rs (renamed from src/test/rustdoc-ui/commandline-argfile-badutf8.rs)0
-rw-r--r--tests/rustdoc-ui/commandline-argfile-badutf8.stderr (renamed from src/test/rustdoc-ui/commandline-argfile-badutf8.stderr)0
-rw-r--r--tests/rustdoc-ui/commandline-argfile-missing.rs (renamed from src/test/rustdoc-ui/commandline-argfile-missing.rs)0
-rw-r--r--tests/rustdoc-ui/commandline-argfile-missing.stderr (renamed from src/test/rustdoc-ui/commandline-argfile-missing.stderr)0
-rw-r--r--tests/rustdoc-ui/commandline-argfile.args (renamed from src/test/rustdoc-ui/commandline-argfile.args)0
-rw-r--r--tests/rustdoc-ui/commandline-argfile.rs (renamed from src/test/rustdoc-ui/commandline-argfile.rs)0
-rw-r--r--tests/rustdoc-ui/const-evalutation-ice.rs (renamed from src/test/rustdoc-ui/const-evalutation-ice.rs)0
-rw-r--r--tests/rustdoc-ui/const-evalutation-ice.stderr (renamed from src/test/rustdoc-ui/const-evalutation-ice.stderr)0
-rw-r--r--tests/rustdoc-ui/coverage/allow_missing_docs.rs (renamed from src/test/rustdoc-ui/coverage/allow_missing_docs.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/allow_missing_docs.stderr (renamed from src/test/rustdoc-ui/coverage/allow_missing_docs.stderr)0
-rw-r--r--tests/rustdoc-ui/coverage/allow_missing_docs.stdout (renamed from src/test/rustdoc-ui/coverage/allow_missing_docs.stdout)0
-rw-r--r--tests/rustdoc-ui/coverage/basic.rs (renamed from src/test/rustdoc-ui/coverage/basic.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/basic.stdout (renamed from src/test/rustdoc-ui/coverage/basic.stdout)2
-rw-r--r--tests/rustdoc-ui/coverage/doc-examples-json.rs (renamed from src/test/rustdoc-ui/coverage/doc-examples-json.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/doc-examples-json.stdout (renamed from src/test/rustdoc-ui/coverage/doc-examples-json.stdout)0
-rw-r--r--tests/rustdoc-ui/coverage/doc-examples.rs (renamed from src/test/rustdoc-ui/coverage/doc-examples.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/doc-examples.stdout (renamed from src/test/rustdoc-ui/coverage/doc-examples.stdout)0
-rw-r--r--tests/rustdoc-ui/coverage/empty.rs (renamed from src/test/rustdoc-ui/coverage/empty.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/empty.stdout (renamed from src/test/rustdoc-ui/coverage/empty.stdout)2
-rw-r--r--tests/rustdoc-ui/coverage/enum-tuple-documented.rs (renamed from src/test/rustdoc-ui/coverage/enum-tuple-documented.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/enum-tuple-documented.stdout (renamed from src/test/rustdoc-ui/coverage/enum-tuple-documented.stdout)0
-rw-r--r--tests/rustdoc-ui/coverage/enum-tuple.rs (renamed from src/test/rustdoc-ui/coverage/enum-tuple.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/enum-tuple.stdout (renamed from src/test/rustdoc-ui/coverage/enum-tuple.stdout)0
-rw-r--r--tests/rustdoc-ui/coverage/enums.rs (renamed from src/test/rustdoc-ui/coverage/enums.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/enums.stdout (renamed from src/test/rustdoc-ui/coverage/enums.stdout)2
-rw-r--r--tests/rustdoc-ui/coverage/exotic.rs (renamed from src/test/rustdoc-ui/coverage/exotic.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/exotic.stdout (renamed from src/test/rustdoc-ui/coverage/exotic.stdout)2
-rw-r--r--tests/rustdoc-ui/coverage/html.rs (renamed from src/test/rustdoc-ui/coverage/html.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/html.stderr (renamed from src/test/rustdoc-ui/coverage/html.stderr)0
-rw-r--r--tests/rustdoc-ui/coverage/json.rs (renamed from src/test/rustdoc-ui/coverage/json.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/json.stdout (renamed from src/test/rustdoc-ui/coverage/json.stdout)0
-rw-r--r--tests/rustdoc-ui/coverage/private.rs (renamed from src/test/rustdoc-ui/coverage/private.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/private.stdout (renamed from src/test/rustdoc-ui/coverage/private.stdout)2
-rw-r--r--tests/rustdoc-ui/coverage/statics-consts.rs (renamed from src/test/rustdoc-ui/coverage/statics-consts.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/statics-consts.stdout (renamed from src/test/rustdoc-ui/coverage/statics-consts.stdout)0
-rw-r--r--tests/rustdoc-ui/coverage/traits.rs (renamed from src/test/rustdoc-ui/coverage/traits.rs)0
-rw-r--r--tests/rustdoc-ui/coverage/traits.stdout (renamed from src/test/rustdoc-ui/coverage/traits.stdout)2
-rw-r--r--tests/rustdoc-ui/deny-intra-link-resolution-failure.rs (renamed from src/test/rustdoc-ui/deny-intra-link-resolution-failure.rs)0
-rw-r--r--tests/rustdoc-ui/deny-intra-link-resolution-failure.stderr (renamed from src/test/rustdoc-ui/deny-intra-link-resolution-failure.stderr)0
-rw-r--r--tests/rustdoc-ui/deny-missing-docs-crate.rs (renamed from src/test/rustdoc-ui/deny-missing-docs-crate.rs)0
-rw-r--r--tests/rustdoc-ui/deny-missing-docs-crate.stderr (renamed from src/test/rustdoc-ui/deny-missing-docs-crate.stderr)0
-rw-r--r--tests/rustdoc-ui/deny-missing-docs-macro.rs (renamed from src/test/rustdoc-ui/deny-missing-docs-macro.rs)0
-rw-r--r--tests/rustdoc-ui/deny-missing-docs-macro.stderr (renamed from src/test/rustdoc-ui/deny-missing-docs-macro.stderr)0
-rw-r--r--tests/rustdoc-ui/deprecated-attrs.rs (renamed from src/test/rustdoc-ui/deprecated-attrs.rs)0
-rw-r--r--tests/rustdoc-ui/deprecated-attrs.stderr (renamed from src/test/rustdoc-ui/deprecated-attrs.stderr)0
-rw-r--r--tests/rustdoc-ui/deref-generic.rs (renamed from src/test/rustdoc-ui/deref-generic.rs)0
-rw-r--r--tests/rustdoc-ui/diagnostic-width.rs (renamed from src/test/rustdoc-ui/diagnostic-width.rs)0
-rw-r--r--tests/rustdoc-ui/diagnostic-width.stderr (renamed from src/test/rustdoc-ui/diagnostic-width.stderr)0
-rw-r--r--tests/rustdoc-ui/display-output.rs (renamed from src/test/rustdoc-ui/display-output.rs)2
-rw-r--r--tests/rustdoc-ui/display-output.stdout (renamed from src/test/rustdoc-ui/display-output.stdout)0
-rw-r--r--tests/rustdoc-ui/doc-alias-assoc-const.rs (renamed from src/test/rustdoc-ui/doc-alias-assoc-const.rs)0
-rw-r--r--tests/rustdoc-ui/doc-alias-assoc-const.stderr (renamed from src/test/rustdoc-ui/doc-alias-assoc-const.stderr)0
-rw-r--r--tests/rustdoc-ui/doc-alias-crate-level.rs (renamed from src/test/rustdoc-ui/doc-alias-crate-level.rs)0
-rw-r--r--tests/rustdoc-ui/doc-alias-crate-level.stderr (renamed from src/test/rustdoc-ui/doc-alias-crate-level.stderr)0
-rw-r--r--tests/rustdoc-ui/doc-alias-same-name.rs (renamed from src/test/rustdoc-ui/doc-alias-same-name.rs)0
-rw-r--r--tests/rustdoc-ui/doc-alias-same-name.stderr (renamed from src/test/rustdoc-ui/doc-alias-same-name.stderr)0
-rw-r--r--tests/rustdoc-ui/doc-attr.rs (renamed from src/test/rustdoc-ui/doc-attr.rs)0
-rw-r--r--tests/rustdoc-ui/doc-attr.stderr (renamed from src/test/rustdoc-ui/doc-attr.stderr)0
-rw-r--r--tests/rustdoc-ui/doc-cfg.rs (renamed from src/test/rustdoc-ui/doc-cfg.rs)0
-rw-r--r--tests/rustdoc-ui/doc-cfg.stderr (renamed from src/test/rustdoc-ui/doc-cfg.stderr)4
-rw-r--r--tests/rustdoc-ui/doc-comment-multi-line-attr.rs (renamed from src/test/rustdoc-ui/doc-comment-multi-line-attr.rs)2
-rw-r--r--tests/rustdoc-ui/doc-comment-multi-line-attr.stdout (renamed from src/test/rustdoc-ui/doc-comment-multi-line-attr.stdout)0
-rw-r--r--tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs (renamed from src/test/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs)2
-rw-r--r--tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.stdout (renamed from src/test/rustdoc-ui/doc-comment-multi-line-cfg-attr.stdout)0
-rw-r--r--tests/rustdoc-ui/doc-include-suggestion.rs (renamed from src/test/rustdoc-ui/doc-include-suggestion.rs)0
-rw-r--r--tests/rustdoc-ui/doc-include-suggestion.stderr (renamed from src/test/rustdoc-ui/doc-include-suggestion.stderr)0
-rw-r--r--tests/rustdoc-ui/doc-spotlight.fixed (renamed from src/test/rustdoc-ui/doc-spotlight.fixed)0
-rw-r--r--tests/rustdoc-ui/doc-spotlight.rs (renamed from src/test/rustdoc-ui/doc-spotlight.rs)0
-rw-r--r--tests/rustdoc-ui/doc-spotlight.stderr (renamed from src/test/rustdoc-ui/doc-spotlight.stderr)0
-rw-r--r--tests/rustdoc-ui/doc-test-attr-pass.rs (renamed from src/test/rustdoc-ui/doc-test-attr-pass.rs)0
-rw-r--r--tests/rustdoc-ui/doc-test-attr.rs (renamed from src/test/rustdoc-ui/doc-test-attr.rs)0
-rw-r--r--tests/rustdoc-ui/doc-test-attr.stderr (renamed from src/test/rustdoc-ui/doc-test-attr.stderr)0
-rw-r--r--tests/rustdoc-ui/doc-test-doctest-feature.rs (renamed from src/test/rustdoc-ui/doc-test-doctest-feature.rs)2
-rw-r--r--tests/rustdoc-ui/doc-test-doctest-feature.stdout (renamed from src/test/rustdoc-ui/doc-test-doctest-feature.stdout)0
-rw-r--r--tests/rustdoc-ui/doc-test-rustdoc-feature.rs (renamed from src/test/rustdoc-ui/doc-test-rustdoc-feature.rs)2
-rw-r--r--tests/rustdoc-ui/doc-test-rustdoc-feature.stdout (renamed from src/test/rustdoc-ui/doc-test-rustdoc-feature.stdout)0
-rw-r--r--tests/rustdoc-ui/doc-without-codeblock.rs (renamed from src/test/rustdoc-ui/doc-without-codeblock.rs)0
-rw-r--r--tests/rustdoc-ui/doc-without-codeblock.stderr (renamed from src/test/rustdoc-ui/doc-without-codeblock.stderr)0
-rw-r--r--tests/rustdoc-ui/doc_cfg_hide.rs (renamed from src/test/rustdoc-ui/doc_cfg_hide.rs)0
-rw-r--r--tests/rustdoc-ui/doc_cfg_hide.stderr (renamed from src/test/rustdoc-ui/doc_cfg_hide.stderr)0
-rw-r--r--tests/rustdoc-ui/doctest-edition.rs (renamed from src/test/rustdoc-ui/doctest-edition.rs)0
-rw-r--r--tests/rustdoc-ui/doctest-edition.stderr (renamed from src/test/rustdoc-ui/doctest-edition.stderr)0
-rw-r--r--tests/rustdoc-ui/doctest-multiline-crate-attribute.rs (renamed from src/test/rustdoc-ui/doctest-multiline-crate-attribute.rs)2
-rw-r--r--tests/rustdoc-ui/doctest-multiline-crate-attribute.stdout (renamed from src/test/rustdoc-ui/doctest-multiline-crate-attribute.stdout)0
-rw-r--r--tests/rustdoc-ui/doctest-output.rs (renamed from src/test/rustdoc-ui/doctest-output.rs)2
-rw-r--r--tests/rustdoc-ui/doctest-output.stdout (renamed from src/test/rustdoc-ui/doctest-output.stdout)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/README.md (renamed from src/test/rustdoc-ui/error-in-impl-trait/README.md)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/async.rs (renamed from src/test/rustdoc-ui/error-in-impl-trait/async.rs)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/closure.rs (renamed from src/test/rustdoc-ui/error-in-impl-trait/closure.rs)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/const-generics.rs (renamed from src/test/rustdoc-ui/error-in-impl-trait/const-generics.rs)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/generic-argument.rs (renamed from src/test/rustdoc-ui/error-in-impl-trait/generic-argument.rs)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/impl-keyword-closure.rs (renamed from src/test/rustdoc-ui/error-in-impl-trait/impl-keyword-closure.rs)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/impl-keyword.rs (renamed from src/test/rustdoc-ui/error-in-impl-trait/impl-keyword.rs)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/realistic-async.rs (renamed from src/test/rustdoc-ui/error-in-impl-trait/realistic-async.rs)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs (renamed from src/test/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs)0
-rw-r--r--tests/rustdoc-ui/error-in-impl-trait/trait-alias.rs (renamed from src/test/rustdoc-ui/error-in-impl-trait/trait-alias.rs)0
-rw-r--r--tests/rustdoc-ui/expect-tool-lint-rfc-2383.rs (renamed from src/test/rustdoc-ui/expect-tool-lint-rfc-2383.rs)0
-rw-r--r--tests/rustdoc-ui/expect-tool-lint-rfc-2383.stderr (renamed from src/test/rustdoc-ui/expect-tool-lint-rfc-2383.stderr)0
-rw-r--r--tests/rustdoc-ui/failed-doctest-compile-fail.rs (renamed from src/test/rustdoc-ui/failed-doctest-compile-fail.rs)2
-rw-r--r--tests/rustdoc-ui/failed-doctest-compile-fail.stdout (renamed from src/test/rustdoc-ui/failed-doctest-compile-fail.stdout)0
-rw-r--r--tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs (renamed from src/test/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs)2
-rw-r--r--tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.stdout (renamed from src/test/rustdoc-ui/failed-doctest-extra-semicolon-on-item.stdout)0
-rw-r--r--tests/rustdoc-ui/failed-doctest-missing-codes.rs (renamed from src/test/rustdoc-ui/failed-doctest-missing-codes.rs)2
-rw-r--r--tests/rustdoc-ui/failed-doctest-missing-codes.stdout (renamed from src/test/rustdoc-ui/failed-doctest-missing-codes.stdout)0
-rw-r--r--tests/rustdoc-ui/failed-doctest-output-windows.rs (renamed from src/test/rustdoc-ui/failed-doctest-output-windows.rs)2
-rw-r--r--tests/rustdoc-ui/failed-doctest-output-windows.stdout (renamed from src/test/rustdoc-ui/failed-doctest-output-windows.stdout)0
-rw-r--r--tests/rustdoc-ui/failed-doctest-output.rs (renamed from src/test/rustdoc-ui/failed-doctest-output.rs)2
-rw-r--r--tests/rustdoc-ui/failed-doctest-output.stdout (renamed from src/test/rustdoc-ui/failed-doctest-output.stdout)0
-rw-r--r--tests/rustdoc-ui/failed-doctest-should-panic.rs (renamed from src/test/rustdoc-ui/failed-doctest-should-panic.rs)2
-rw-r--r--tests/rustdoc-ui/failed-doctest-should-panic.stdout (renamed from src/test/rustdoc-ui/failed-doctest-should-panic.stdout)0
-rw-r--r--tests/rustdoc-ui/feature-gate-doc_cfg_hide.rs (renamed from src/test/rustdoc-ui/feature-gate-doc_cfg_hide.rs)0
-rw-r--r--tests/rustdoc-ui/feature-gate-doc_cfg_hide.stderr (renamed from src/test/rustdoc-ui/feature-gate-doc_cfg_hide.stderr)0
-rw-r--r--tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.rs (renamed from src/test/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.rs)0
-rw-r--r--tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.stderr (renamed from src/test/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.stderr)0
-rw-r--r--tests/rustdoc-ui/generate-link-to-definition-opt-unstable.rs (renamed from src/test/rustdoc-ui/generate-link-to-definition-opt-unstable.rs)0
-rw-r--r--tests/rustdoc-ui/generate-link-to-definition-opt-unstable.stderr (renamed from src/test/rustdoc-ui/generate-link-to-definition-opt-unstable.stderr)0
-rw-r--r--tests/rustdoc-ui/generate-link-to-definition-opt.rs (renamed from src/test/rustdoc-ui/generate-link-to-definition-opt.rs)0
-rw-r--r--tests/rustdoc-ui/generate-link-to-definition-opt.stderr (renamed from src/test/rustdoc-ui/generate-link-to-definition-opt.stderr)0
-rw-r--r--tests/rustdoc-ui/generate-link-to-definition-opt2.rs (renamed from src/test/rustdoc-ui/generate-link-to-definition-opt2.rs)0
-rw-r--r--tests/rustdoc-ui/generate-link-to-definition-opt2.stderr (renamed from src/test/rustdoc-ui/generate-link-to-definition-opt2.stderr)0
-rw-r--r--tests/rustdoc-ui/ignore-block-help.rs (renamed from src/test/rustdoc-ui/ignore-block-help.rs)0
-rw-r--r--tests/rustdoc-ui/ignore-block-help.stderr (renamed from src/test/rustdoc-ui/ignore-block-help.stderr)0
-rw-r--r--tests/rustdoc-ui/impl-fn-nesting.rs (renamed from src/test/rustdoc-ui/impl-fn-nesting.rs)0
-rw-r--r--tests/rustdoc-ui/impl-fn-nesting.stderr (renamed from src/test/rustdoc-ui/impl-fn-nesting.stderr)0
-rw-r--r--tests/rustdoc-ui/infinite-recursive-type-impl-trait-return.rs (renamed from src/test/rustdoc-ui/infinite-recursive-type-impl-trait-return.rs)0
-rw-r--r--tests/rustdoc-ui/infinite-recursive-type-impl-trait.rs (renamed from src/test/rustdoc-ui/infinite-recursive-type-impl-trait.rs)0
-rw-r--r--tests/rustdoc-ui/infinite-recursive-type.rs (renamed from src/test/rustdoc-ui/infinite-recursive-type.rs)0
-rw-r--r--tests/rustdoc-ui/infinite-recursive-type.stderr (renamed from src/test/rustdoc-ui/infinite-recursive-type.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/alias-ice.rs (renamed from src/test/rustdoc-ui/intra-doc/alias-ice.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/alias-ice.stderr (renamed from src/test/rustdoc-ui/intra-doc/alias-ice.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/ambiguity.rs (renamed from src/test/rustdoc-ui/intra-doc/ambiguity.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/ambiguity.stderr (renamed from src/test/rustdoc-ui/intra-doc/ambiguity.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/anchors.rs (renamed from src/test/rustdoc-ui/intra-doc/anchors.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/anchors.stderr (renamed from src/test/rustdoc-ui/intra-doc/anchors.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/assoc-field.rs (renamed from src/test/rustdoc-ui/intra-doc/assoc-field.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/assoc-mod-inner-outer.rs (renamed from src/test/rustdoc-ui/intra-doc/assoc-mod-inner-outer.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/auxiliary/assoc-field-dep.rs (renamed from src/test/rustdoc-ui/intra-doc/auxiliary/assoc-field-dep.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/auxiliary/assoc-mod-inner-outer-dep.rs (renamed from src/test/rustdoc-ui/intra-doc/auxiliary/assoc-mod-inner-outer-dep.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/auxiliary/dep1.rs (renamed from src/test/rustdoc-ui/intra-doc/auxiliary/dep1.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/auxiliary/dep2.rs (renamed from src/test/rustdoc-ui/intra-doc/auxiliary/dep2.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/auxiliary/dep3.rs (renamed from src/test/rustdoc-ui/intra-doc/auxiliary/dep3.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/auxiliary/dep4.rs (renamed from src/test/rustdoc-ui/intra-doc/auxiliary/dep4.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/auxiliary/intra-doc-broken.rs (renamed from src/test/rustdoc-ui/intra-doc/auxiliary/intra-doc-broken.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/auxiliary/pointer-reexports-allowed.rs (renamed from src/test/rustdoc-ui/intra-doc/auxiliary/pointer-reexports-allowed.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/auxiliary/through-proc-macro-aux.rs (renamed from src/test/rustdoc-ui/intra-doc/auxiliary/through-proc-macro-aux.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/broken-reexport.rs (renamed from src/test/rustdoc-ui/intra-doc/broken-reexport.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/crate-nonexistent.rs (renamed from src/test/rustdoc-ui/intra-doc/crate-nonexistent.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/crate-nonexistent.stderr (renamed from src/test/rustdoc-ui/intra-doc/crate-nonexistent.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/disambiguator-mismatch.rs (renamed from src/test/rustdoc-ui/intra-doc/disambiguator-mismatch.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr (renamed from src/test/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/double-anchor.rs (renamed from src/test/rustdoc-ui/intra-doc/double-anchor.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/double-anchor.stderr (renamed from src/test/rustdoc-ui/intra-doc/double-anchor.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/email-address-localhost.rs (renamed from src/test/rustdoc-ui/intra-doc/email-address-localhost.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/errors.rs (renamed from src/test/rustdoc-ui/intra-doc/errors.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/errors.stderr (renamed from src/test/rustdoc-ui/intra-doc/errors.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/extern-crate-load.rs (renamed from src/test/rustdoc-ui/intra-doc/extern-crate-load.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs (renamed from src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr (renamed from src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/field-ice.rs (renamed from src/test/rustdoc-ui/intra-doc/field-ice.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/field-ice.stderr (renamed from src/test/rustdoc-ui/intra-doc/field-ice.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/global-path.rs (renamed from src/test/rustdoc-ui/intra-doc/global-path.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/global-path.stderr (renamed from src/test/rustdoc-ui/intra-doc/global-path.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs (renamed from src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr (renamed from src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.rs (renamed from src/test/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr (renamed from src/test/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/macro-rules-error.rs (renamed from src/test/rustdoc-ui/intra-doc/macro-rules-error.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/macro-rules-error.stderr (renamed from src/test/rustdoc-ui/intra-doc/macro-rules-error.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/macro-rules.rs (renamed from src/test/rustdoc-ui/intra-doc/macro-rules.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/malformed-generics.rs (renamed from src/test/rustdoc-ui/intra-doc/malformed-generics.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/malformed-generics.stderr (renamed from src/test/rustdoc-ui/intra-doc/malformed-generics.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/non-path-primitives.rs (renamed from src/test/rustdoc-ui/intra-doc/non-path-primitives.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/non-path-primitives.stderr (renamed from src/test/rustdoc-ui/intra-doc/non-path-primitives.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/pointer-reexports-allowed.rs (renamed from src/test/rustdoc-ui/intra-doc/pointer-reexports-allowed.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/prim-conflict.rs (renamed from src/test/rustdoc-ui/intra-doc/prim-conflict.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/prim-conflict.stderr (renamed from src/test/rustdoc-ui/intra-doc/prim-conflict.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/private-from-crate-level.rs (renamed from src/test/rustdoc-ui/intra-doc/private-from-crate-level.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/private-from-crate-level.stderr (renamed from src/test/rustdoc-ui/intra-doc/private-from-crate-level.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/private.private.stderr (renamed from src/test/rustdoc-ui/intra-doc/private.private.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/private.public.stderr (renamed from src/test/rustdoc-ui/intra-doc/private.public.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/private.rs (renamed from src/test/rustdoc-ui/intra-doc/private.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/span-ice-55723.rs (renamed from src/test/rustdoc-ui/intra-doc/span-ice-55723.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/span-ice-55723.stderr (renamed from src/test/rustdoc-ui/intra-doc/span-ice-55723.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/through-proc-macro.rs (renamed from src/test/rustdoc-ui/intra-doc/through-proc-macro.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/through-proc-macro.stderr (renamed from src/test/rustdoc-ui/intra-doc/through-proc-macro.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/unknown-disambiguator.rs (renamed from src/test/rustdoc-ui/intra-doc/unknown-disambiguator.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/unknown-disambiguator.stderr (renamed from src/test/rustdoc-ui/intra-doc/unknown-disambiguator.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/unresolved-import-recovery.rs (renamed from src/test/rustdoc-ui/intra-doc/unresolved-import-recovery.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/unresolved-import-recovery.stderr (renamed from src/test/rustdoc-ui/intra-doc/unresolved-import-recovery.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/unused-extern-crate.rs (renamed from src/test/rustdoc-ui/intra-doc/unused-extern-crate.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/unused-extern-crate.stderr (renamed from src/test/rustdoc-ui/intra-doc/unused-extern-crate.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/warning-crlf.rs (renamed from src/test/rustdoc-ui/intra-doc/warning-crlf.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/warning-crlf.stderr (renamed from src/test/rustdoc-ui/intra-doc/warning-crlf.stderr)0
-rw-r--r--tests/rustdoc-ui/intra-doc/warning.rs (renamed from src/test/rustdoc-ui/intra-doc/warning.rs)0
-rw-r--r--tests/rustdoc-ui/intra-doc/warning.stderr (renamed from src/test/rustdoc-ui/intra-doc/warning.stderr)0
-rw-r--r--tests/rustdoc-ui/invalid-cfg.rs (renamed from src/test/rustdoc-ui/invalid-cfg.rs)0
-rw-r--r--tests/rustdoc-ui/invalid-cfg.stderr (renamed from src/test/rustdoc-ui/invalid-cfg.stderr)0
-rw-r--r--tests/rustdoc-ui/invalid-doc-attr.rs (renamed from src/test/rustdoc-ui/invalid-doc-attr.rs)0
-rw-r--r--tests/rustdoc-ui/invalid-doc-attr.stderr (renamed from src/test/rustdoc-ui/invalid-doc-attr.stderr)0
-rw-r--r--tests/rustdoc-ui/invalid-html-self-closing-tag.rs (renamed from src/test/rustdoc-ui/invalid-html-self-closing-tag.rs)0
-rw-r--r--tests/rustdoc-ui/invalid-html-self-closing-tag.stderr (renamed from src/test/rustdoc-ui/invalid-html-self-closing-tag.stderr)0
-rw-r--r--tests/rustdoc-ui/invalid-html-tags.rs (renamed from src/test/rustdoc-ui/invalid-html-tags.rs)0
-rw-r--r--tests/rustdoc-ui/invalid-html-tags.stderr (renamed from src/test/rustdoc-ui/invalid-html-tags.stderr)0
-rw-r--r--tests/rustdoc-ui/invalid-keyword.rs (renamed from src/test/rustdoc-ui/invalid-keyword.rs)0
-rw-r--r--tests/rustdoc-ui/invalid-keyword.stderr (renamed from src/test/rustdoc-ui/invalid-keyword.stderr)0
-rw-r--r--tests/rustdoc-ui/invalid-syntax.rs (renamed from src/test/rustdoc-ui/invalid-syntax.rs)0
-rw-r--r--tests/rustdoc-ui/invalid-syntax.stderr (renamed from src/test/rustdoc-ui/invalid-syntax.stderr)2
-rw-r--r--tests/rustdoc-ui/invalid-theme-name.rs (renamed from src/test/rustdoc-ui/invalid-theme-name.rs)0
-rw-r--r--tests/rustdoc-ui/invalid-theme-name.stderr (renamed from src/test/rustdoc-ui/invalid-theme-name.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-101076.rs (renamed from src/test/rustdoc-ui/issue-101076.rs)0
-rw-r--r--tests/rustdoc-ui/issue-102986.rs (renamed from src/test/rustdoc-ui/issue-102986.rs)0
-rw-r--r--tests/rustdoc-ui/issue-102986.stderr (renamed from src/test/rustdoc-ui/issue-102986.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-103997.rs (renamed from src/test/rustdoc-ui/issue-103997.rs)0
-rw-r--r--tests/rustdoc-ui/issue-103997.stderr (renamed from src/test/rustdoc-ui/issue-103997.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-105334.rs2
-rw-r--r--tests/rustdoc-ui/issue-105334.stderr9
-rw-r--r--tests/rustdoc-ui/issue-105737.rs4
-rw-r--r--tests/rustdoc-ui/issue-105737.stderr12
-rw-r--r--tests/rustdoc-ui/issue-105742.rs40
-rw-r--r--tests/rustdoc-ui/issue-105742.stderr385
-rw-r--r--tests/rustdoc-ui/issue-106213.rs7
-rw-r--r--tests/rustdoc-ui/issue-106213.stderr9
-rw-r--r--tests/rustdoc-ui/issue-106226.rs3
-rw-r--r--tests/rustdoc-ui/issue-106226.stderr9
-rw-r--r--tests/rustdoc-ui/issue-58473-2.rs (renamed from src/test/rustdoc-ui/issue-58473-2.rs)0
-rw-r--r--tests/rustdoc-ui/issue-58473.rs (renamed from src/test/rustdoc-ui/issue-58473.rs)0
-rw-r--r--tests/rustdoc-ui/issue-61592-2.rs (renamed from src/test/rustdoc-ui/issue-61592-2.rs)0
-rw-r--r--tests/rustdoc-ui/issue-61592-2.stderr (renamed from src/test/rustdoc-ui/issue-61592-2.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-61592.rs (renamed from src/test/rustdoc-ui/issue-61592.rs)0
-rw-r--r--tests/rustdoc-ui/issue-61592.stderr (renamed from src/test/rustdoc-ui/issue-61592.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-61732.rs (renamed from src/test/rustdoc-ui/issue-61732.rs)0
-rw-r--r--tests/rustdoc-ui/issue-61732.stderr (renamed from src/test/rustdoc-ui/issue-61732.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-74134.private.stderr (renamed from src/test/rustdoc-ui/issue-74134.private.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-74134.public.stderr (renamed from src/test/rustdoc-ui/issue-74134.public.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-74134.rs (renamed from src/test/rustdoc-ui/issue-74134.rs)0
-rw-r--r--tests/rustdoc-ui/issue-79465.rs (renamed from src/test/rustdoc-ui/issue-79465.rs)0
-rw-r--r--tests/rustdoc-ui/issue-79465.stderr (renamed from src/test/rustdoc-ui/issue-79465.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-79467.rs (renamed from src/test/rustdoc-ui/issue-79467.rs)0
-rw-r--r--tests/rustdoc-ui/issue-79467.stderr (renamed from src/test/rustdoc-ui/issue-79467.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-79494.rs (renamed from src/test/rustdoc-ui/issue-79494.rs)0
-rw-r--r--tests/rustdoc-ui/issue-79494.stderr (renamed from src/test/rustdoc-ui/issue-79494.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-80992.rs (renamed from src/test/rustdoc-ui/issue-80992.rs)2
-rw-r--r--tests/rustdoc-ui/issue-80992.stdout (renamed from src/test/rustdoc-ui/issue-80992.stdout)0
-rw-r--r--tests/rustdoc-ui/issue-81662-shortness.rs (renamed from src/test/rustdoc-ui/issue-81662-shortness.rs)2
-rw-r--r--tests/rustdoc-ui/issue-81662-shortness.stdout (renamed from src/test/rustdoc-ui/issue-81662-shortness.stdout)0
-rw-r--r--tests/rustdoc-ui/issue-83883-describe-lints.rs (renamed from src/test/rustdoc-ui/issue-83883-describe-lints.rs)0
-rw-r--r--tests/rustdoc-ui/issue-83883-describe-lints.stdout (renamed from src/test/rustdoc-ui/issue-83883-describe-lints.stdout)0
-rw-r--r--tests/rustdoc-ui/issue-91134.rs (renamed from src/test/rustdoc-ui/issue-91134.rs)2
-rw-r--r--tests/rustdoc-ui/issue-91134.stdout (renamed from src/test/rustdoc-ui/issue-91134.stdout)0
-rw-r--r--tests/rustdoc-ui/issue-91713.rs (renamed from src/test/rustdoc-ui/issue-91713.rs)0
-rw-r--r--tests/rustdoc-ui/issue-91713.stderr (renamed from src/test/rustdoc-ui/issue-91713.stderr)0
-rw-r--r--tests/rustdoc-ui/issue-91713.stdout (renamed from src/test/rustdoc-ui/issue-91713.stdout)0
-rw-r--r--tests/rustdoc-ui/issue-96287.rs17
-rw-r--r--tests/rustdoc-ui/issue-96287.stderr15
-rw-r--r--tests/rustdoc-ui/issue-98690.rs (renamed from src/test/rustdoc-ui/issue-98690.rs)0
-rw-r--r--tests/rustdoc-ui/issue-98690.stderr (renamed from src/test/rustdoc-ui/issue-98690.stderr)0
-rw-r--r--tests/rustdoc-ui/lint-group.rs (renamed from src/test/rustdoc-ui/lint-group.rs)0
-rw-r--r--tests/rustdoc-ui/lint-group.stderr (renamed from src/test/rustdoc-ui/lint-group.stderr)0
-rw-r--r--tests/rustdoc-ui/lint-missing-doc-code-example.rs (renamed from src/test/rustdoc-ui/lint-missing-doc-code-example.rs)0
-rw-r--r--tests/rustdoc-ui/lint-missing-doc-code-example.stderr (renamed from src/test/rustdoc-ui/lint-missing-doc-code-example.stderr)0
-rw-r--r--tests/rustdoc-ui/macro-docs.rs (renamed from src/test/rustdoc-ui/macro-docs.rs)0
-rw-r--r--tests/rustdoc-ui/macro-docs.stderr (renamed from src/test/rustdoc-ui/macro-docs.stderr)0
-rw-r--r--tests/rustdoc-ui/macro-docs.stdout (renamed from src/test/rustdoc-ui/macro-docs.stdout)0
-rw-r--r--tests/rustdoc-ui/no-crate-level-doc-lint.rs (renamed from src/test/rustdoc-ui/no-crate-level-doc-lint.rs)0
-rw-r--r--tests/rustdoc-ui/no-crate-level-doc-lint.stderr (renamed from src/test/rustdoc-ui/no-crate-level-doc-lint.stderr)0
-rw-r--r--tests/rustdoc-ui/no-run-flag-error.rs (renamed from src/test/rustdoc-ui/no-run-flag-error.rs)0
-rw-r--r--tests/rustdoc-ui/no-run-flag-error.stderr (renamed from src/test/rustdoc-ui/no-run-flag-error.stderr)0
-rw-r--r--tests/rustdoc-ui/no-run-flag.rs (renamed from src/test/rustdoc-ui/no-run-flag.rs)2
-rw-r--r--tests/rustdoc-ui/no-run-flag.stdout (renamed from src/test/rustdoc-ui/no-run-flag.stdout)0
-rw-r--r--tests/rustdoc-ui/nocapture-fail.rs12
-rw-r--r--tests/rustdoc-ui/nocapture-fail.stderr (renamed from src/test/rustdoc-ui/nocapture-fail.stderr)0
-rw-r--r--tests/rustdoc-ui/nocapture-fail.stdout (renamed from src/test/rustdoc-ui/nocapture-fail.stdout)0
-rw-r--r--tests/rustdoc-ui/nocapture.rs (renamed from src/test/rustdoc-ui/nocapture.rs)2
-rw-r--r--tests/rustdoc-ui/nocapture.stderr (renamed from src/test/rustdoc-ui/nocapture.stderr)0
-rw-r--r--tests/rustdoc-ui/nocapture.stdout (renamed from src/test/rustdoc-ui/nocapture.stdout)0
-rw-r--r--tests/rustdoc-ui/normalize-cycle.rs (renamed from src/test/rustdoc-ui/normalize-cycle.rs)0
-rw-r--r--tests/rustdoc-ui/normalize-overflow.rs (renamed from src/test/rustdoc-ui/normalize-overflow.rs)0
-rw-r--r--tests/rustdoc-ui/output-format-html-stable.rs (renamed from src/test/rustdoc-ui/output-format-html-stable.rs)0
-rw-r--r--tests/rustdoc-ui/private-doc-test.rs (renamed from src/test/rustdoc-ui/private-doc-test.rs)0
-rw-r--r--tests/rustdoc-ui/private-item-doc-test.rs (renamed from src/test/rustdoc-ui/private-item-doc-test.rs)0
-rw-r--r--tests/rustdoc-ui/private-item-doc-test.stderr (renamed from src/test/rustdoc-ui/private-item-doc-test.stderr)0
-rw-r--r--tests/rustdoc-ui/private-public-item-doc-test.rs (renamed from src/test/rustdoc-ui/private-public-item-doc-test.rs)0
-rw-r--r--tests/rustdoc-ui/private-public-item-doc-test.stderr (renamed from src/test/rustdoc-ui/private-public-item-doc-test.stderr)0
-rw-r--r--tests/rustdoc-ui/pub-export-lint.rs (renamed from src/test/rustdoc-ui/pub-export-lint.rs)0
-rw-r--r--tests/rustdoc-ui/pub-export-lint.stderr (renamed from src/test/rustdoc-ui/pub-export-lint.stderr)0
-rw-r--r--tests/rustdoc-ui/public-reexported-item-doc-test.rs (renamed from src/test/rustdoc-ui/public-reexported-item-doc-test.rs)0
-rw-r--r--tests/rustdoc-ui/range-pattern.rs (renamed from src/test/rustdoc-ui/range-pattern.rs)0
-rw-r--r--tests/rustdoc-ui/recursive-deref-ice.rs (renamed from src/test/rustdoc-ui/recursive-deref-ice.rs)0
-rw-r--r--tests/rustdoc-ui/reference-link-reports-error-once.rs (renamed from src/test/rustdoc-ui/reference-link-reports-error-once.rs)0
-rw-r--r--tests/rustdoc-ui/reference-link-reports-error-once.stderr (renamed from src/test/rustdoc-ui/reference-link-reports-error-once.stderr)0
-rw-r--r--tests/rustdoc-ui/reference-links.rs (renamed from src/test/rustdoc-ui/reference-links.rs)0
-rw-r--r--tests/rustdoc-ui/reference-links.stderr (renamed from src/test/rustdoc-ui/reference-links.stderr)0
-rw-r--r--tests/rustdoc-ui/renamed-lint-still-applies.rs (renamed from src/test/rustdoc-ui/renamed-lint-still-applies.rs)0
-rw-r--r--tests/rustdoc-ui/renamed-lint-still-applies.stderr (renamed from src/test/rustdoc-ui/renamed-lint-still-applies.stderr)0
-rw-r--r--tests/rustdoc-ui/run-directory.correct.stdout (renamed from src/test/rustdoc-ui/run-directory.correct.stdout)0
-rw-r--r--tests/rustdoc-ui/run-directory.incorrect.stdout (renamed from src/test/rustdoc-ui/run-directory.incorrect.stdout)0
-rw-r--r--tests/rustdoc-ui/run-directory.rs (renamed from src/test/rustdoc-ui/run-directory.rs)2
-rw-r--r--tests/rustdoc-ui/rustc-check-passes.rs (renamed from src/test/rustdoc-ui/rustc-check-passes.rs)0
-rw-r--r--tests/rustdoc-ui/rustc-check-passes.stderr (renamed from src/test/rustdoc-ui/rustc-check-passes.stderr)0
-rw-r--r--tests/rustdoc-ui/scrape-examples-fail-if-type-error.rs (renamed from src/test/rustdoc-ui/scrape-examples-fail-if-type-error.rs)0
-rw-r--r--tests/rustdoc-ui/scrape-examples-fail-if-type-error.stderr (renamed from src/test/rustdoc-ui/scrape-examples-fail-if-type-error.stderr)0
-rw-r--r--tests/rustdoc-ui/scrape-examples-ice.rs (renamed from src/test/rustdoc-ui/scrape-examples-ice.rs)0
-rw-r--r--tests/rustdoc-ui/scrape-examples-wrong-options-1.rs (renamed from src/test/rustdoc-ui/scrape-examples-wrong-options-1.rs)0
-rw-r--r--tests/rustdoc-ui/scrape-examples-wrong-options-1.stderr (renamed from src/test/rustdoc-ui/scrape-examples-wrong-options-1.stderr)0
-rw-r--r--tests/rustdoc-ui/scrape-examples-wrong-options-2.rs (renamed from src/test/rustdoc-ui/scrape-examples-wrong-options-2.rs)0
-rw-r--r--tests/rustdoc-ui/scrape-examples-wrong-options-2.stderr (renamed from src/test/rustdoc-ui/scrape-examples-wrong-options-2.stderr)0
-rw-r--r--tests/rustdoc-ui/search-index-generics-recursion-bug-issue-59502.rs (renamed from src/test/rustdoc-ui/search-index-generics-recursion-bug-issue-59502.rs)0
-rw-r--r--tests/rustdoc-ui/suggestions/html-as-generics-no-suggestions.rs (renamed from src/test/rustdoc-ui/suggestions/html-as-generics-no-suggestions.rs)0
-rw-r--r--tests/rustdoc-ui/suggestions/html-as-generics-no-suggestions.stderr (renamed from src/test/rustdoc-ui/suggestions/html-as-generics-no-suggestions.stderr)0
-rw-r--r--tests/rustdoc-ui/suggestions/html-as-generics.fixed (renamed from src/test/rustdoc-ui/suggestions/html-as-generics.fixed)0
-rw-r--r--tests/rustdoc-ui/suggestions/html-as-generics.rs (renamed from src/test/rustdoc-ui/suggestions/html-as-generics.rs)0
-rw-r--r--tests/rustdoc-ui/suggestions/html-as-generics.stderr (renamed from src/test/rustdoc-ui/suggestions/html-as-generics.stderr)0
-rw-r--r--tests/rustdoc-ui/test-compile-fail1.rs (renamed from src/test/rustdoc-ui/test-compile-fail1.rs)0
-rw-r--r--tests/rustdoc-ui/test-compile-fail1.stderr (renamed from src/test/rustdoc-ui/test-compile-fail1.stderr)0
-rw-r--r--tests/rustdoc-ui/test-compile-fail2.rs (renamed from src/test/rustdoc-ui/test-compile-fail2.rs)0
-rw-r--r--tests/rustdoc-ui/test-compile-fail2.stderr (renamed from src/test/rustdoc-ui/test-compile-fail2.stderr)0
-rw-r--r--tests/rustdoc-ui/test-compile-fail3.rs (renamed from src/test/rustdoc-ui/test-compile-fail3.rs)0
-rw-r--r--tests/rustdoc-ui/test-compile-fail3.stderr (renamed from src/test/rustdoc-ui/test-compile-fail3.stderr)0
-rw-r--r--tests/rustdoc-ui/test-no_std.rs (renamed from src/test/rustdoc-ui/test-no_std.rs)2
-rw-r--r--tests/rustdoc-ui/test-no_std.stdout (renamed from src/test/rustdoc-ui/test-no_std.stdout)0
-rw-r--r--tests/rustdoc-ui/test-type.rs (renamed from src/test/rustdoc-ui/test-type.rs)2
-rw-r--r--tests/rustdoc-ui/test-type.stdout (renamed from src/test/rustdoc-ui/test-type.stdout)0
-rw-r--r--tests/rustdoc-ui/track-diagnostics.rs (renamed from src/test/rustdoc-ui/track-diagnostics.rs)0
-rw-r--r--tests/rustdoc-ui/track-diagnostics.stderr (renamed from src/test/rustdoc-ui/track-diagnostics.stderr)0
-rw-r--r--tests/rustdoc-ui/tuple-variadic-check.rs (renamed from src/test/rustdoc-ui/tuple-variadic-check.rs)0
-rw-r--r--tests/rustdoc-ui/tuple-variadic-check.stderr (renamed from src/test/rustdoc-ui/tuple-variadic-check.stderr)0
-rw-r--r--tests/rustdoc-ui/unable-fulfill-trait.rs13
-rw-r--r--tests/rustdoc-ui/unable-fulfill-trait.stderr26
-rw-r--r--tests/rustdoc-ui/unknown-renamed-lints.rs (renamed from src/test/rustdoc-ui/unknown-renamed-lints.rs)0
-rw-r--r--tests/rustdoc-ui/unknown-renamed-lints.stderr (renamed from src/test/rustdoc-ui/unknown-renamed-lints.stderr)0
-rw-r--r--tests/rustdoc-ui/unparseable-doc-test.rs (renamed from src/test/rustdoc-ui/unparseable-doc-test.rs)2
-rw-r--r--tests/rustdoc-ui/unparseable-doc-test.stdout (renamed from src/test/rustdoc-ui/unparseable-doc-test.stdout)0
-rw-r--r--tests/rustdoc-ui/unused-braces-lint.rs (renamed from src/test/rustdoc-ui/unused-braces-lint.rs)0
-rw-r--r--tests/rustdoc-ui/unused-extern-crate.rs (renamed from src/test/rustdoc-ui/unused-extern-crate.rs)0
-rw-r--r--tests/rustdoc-ui/unused.rs (renamed from src/test/rustdoc-ui/unused.rs)0
-rw-r--r--tests/rustdoc-ui/use_both_out_dir_and_output_options.rs (renamed from src/test/rustdoc-ui/use_both_out_dir_and_output_options.rs)0
-rw-r--r--tests/rustdoc-ui/use_both_out_dir_and_output_options.stderr (renamed from src/test/rustdoc-ui/use_both_out_dir_and_output_options.stderr)0
-rw-r--r--tests/rustdoc-ui/wasm-safe.rs (renamed from src/test/rustdoc-ui/wasm-safe.rs)0
-rw-r--r--tests/rustdoc-ui/z-help.rs (renamed from src/test/rustdoc-ui/z-help.rs)0
-rw-r--r--tests/rustdoc-ui/z-help.stdout (renamed from src/test/rustdoc-ui/z-help.stdout)8
-rw-r--r--tests/rustdoc/all.rs (renamed from src/test/rustdoc/all.rs)0
-rw-r--r--tests/rustdoc/anchors.no_const_anchor.html (renamed from src/test/rustdoc/anchors.no_const_anchor.html)0
-rw-r--r--tests/rustdoc/anchors.no_const_anchor2.html (renamed from src/test/rustdoc/anchors.no_const_anchor2.html)0
-rw-r--r--tests/rustdoc/anchors.no_method_anchor.html (renamed from src/test/rustdoc/anchors.no_method_anchor.html)0
-rw-r--r--tests/rustdoc/anchors.no_trait_method_anchor.html (renamed from src/test/rustdoc/anchors.no_trait_method_anchor.html)0
-rw-r--r--tests/rustdoc/anchors.no_tymethod_anchor.html (renamed from src/test/rustdoc/anchors.no_tymethod_anchor.html)0
-rw-r--r--tests/rustdoc/anchors.no_type_anchor.html (renamed from src/test/rustdoc/anchors.no_type_anchor.html)0
-rw-r--r--tests/rustdoc/anchors.no_type_anchor2.html (renamed from src/test/rustdoc/anchors.no_type_anchor2.html)0
-rw-r--r--tests/rustdoc/anchors.rs (renamed from src/test/rustdoc/anchors.rs)0
-rw-r--r--tests/rustdoc/anonymous-lifetime.rs (renamed from src/test/rustdoc/anonymous-lifetime.rs)0
-rw-r--r--tests/rustdoc/anonymous-reexport.rs (renamed from src/test/rustdoc/anonymous-reexport.rs)0
-rw-r--r--tests/rustdoc/array-links.link_box_generic.html (renamed from src/test/rustdoc/array-links.link_box_generic.html)0
-rw-r--r--tests/rustdoc/array-links.link_box_u32.html (renamed from src/test/rustdoc/array-links.link_box_u32.html)0
-rw-r--r--tests/rustdoc/array-links.link_slice_generic.html (renamed from src/test/rustdoc/array-links.link_slice_generic.html)0
-rw-r--r--tests/rustdoc/array-links.link_slice_u32.html (renamed from src/test/rustdoc/array-links.link_slice_u32.html)0
-rw-r--r--tests/rustdoc/array-links.rs28
-rw-r--r--tests/rustdoc/asm-foreign.rs (renamed from src/test/rustdoc/asm-foreign.rs)0
-rw-r--r--tests/rustdoc/asm-foreign2.rs (renamed from src/test/rustdoc/asm-foreign2.rs)0
-rw-r--r--tests/rustdoc/assoc-consts-version.rs (renamed from src/test/rustdoc/assoc-consts-version.rs)0
-rw-r--r--tests/rustdoc/assoc-consts.rs (renamed from src/test/rustdoc/assoc-consts.rs)2
-rw-r--r--tests/rustdoc/assoc-item-cast.rs14
-rw-r--r--tests/rustdoc/assoc-types.rs37
-rw-r--r--tests/rustdoc/associated-consts.rs (renamed from src/test/rustdoc/associated-consts.rs)0
-rw-r--r--tests/rustdoc/async-fn.rs95
-rw-r--r--tests/rustdoc/async-move-doctest.rs (renamed from src/test/rustdoc/async-move-doctest.rs)0
-rw-r--r--tests/rustdoc/async-trait-sig.rs (renamed from src/test/rustdoc/async-trait-sig.rs)0
-rw-r--r--tests/rustdoc/async-trait.rs (renamed from src/test/rustdoc/async-trait.rs)0
-rw-r--r--tests/rustdoc/attribute-rendering.rs (renamed from src/test/rustdoc/attribute-rendering.rs)0
-rw-r--r--tests/rustdoc/attributes.rs13
-rw-r--r--tests/rustdoc/auto-impl-for-trait.rs (renamed from src/test/rustdoc/auto-impl-for-trait.rs)0
-rw-r--r--tests/rustdoc/auto-impl-primitive.rs (renamed from src/test/rustdoc/auto-impl-primitive.rs)0
-rw-r--r--tests/rustdoc/auto-trait-not-send.rs (renamed from src/test/rustdoc/auto-trait-not-send.rs)0
-rw-r--r--tests/rustdoc/auto-traits.rs (renamed from src/test/rustdoc/auto-traits.rs)0
-rw-r--r--tests/rustdoc/auto_aliases.rs (renamed from src/test/rustdoc/auto_aliases.rs)0
-rw-r--r--tests/rustdoc/auxiliary/all-item-types.rs (renamed from src/test/rustdoc/auxiliary/all-item-types.rs)0
-rw-r--r--tests/rustdoc/auxiliary/async-trait-dep.rs (renamed from src/test/rustdoc/auxiliary/async-trait-dep.rs)0
-rw-r--r--tests/rustdoc/auxiliary/auto-traits.rs (renamed from src/test/rustdoc/auxiliary/auto-traits.rs)0
-rw-r--r--tests/rustdoc/auxiliary/cross-crate-hidden-assoc-trait-items.rs (renamed from src/test/rustdoc/auxiliary/cross-crate-hidden-assoc-trait-items.rs)0
-rw-r--r--tests/rustdoc/auxiliary/cross-crate-hidden-impl-parameter.rs (renamed from src/test/rustdoc/auxiliary/cross-crate-hidden-impl-parameter.rs)0
-rw-r--r--tests/rustdoc/auxiliary/elided-lifetime.rs (renamed from src/test/rustdoc/auxiliary/elided-lifetime.rs)0
-rw-r--r--tests/rustdoc/auxiliary/empty.rs (renamed from src/test/rustdoc/auxiliary/empty.rs)0
-rw-r--r--tests/rustdoc/auxiliary/enum-primitive.rs (renamed from src/test/rustdoc/auxiliary/enum-primitive.rs)0
-rw-r--r--tests/rustdoc/auxiliary/extern-impl-trait.rs (renamed from src/test/rustdoc/auxiliary/extern-impl-trait.rs)0
-rw-r--r--tests/rustdoc/auxiliary/extern-links.rs (renamed from src/test/rustdoc/auxiliary/extern-links.rs)0
-rw-r--r--tests/rustdoc/auxiliary/external-cross-doc.md (renamed from src/test/rustdoc/auxiliary/external-cross-doc.md)0
-rw-r--r--tests/rustdoc/auxiliary/external-cross.rs (renamed from src/test/rustdoc/auxiliary/external-cross.rs)0
-rw-r--r--tests/rustdoc/auxiliary/external-doc.md (renamed from src/test/rustdoc/auxiliary/external-doc.md)0
-rw-r--r--tests/rustdoc/auxiliary/external-macro-src.rs (renamed from src/test/rustdoc/auxiliary/external-macro-src.rs)0
-rw-r--r--tests/rustdoc/auxiliary/html_root.rs (renamed from src/test/rustdoc/auxiliary/html_root.rs)0
-rw-r--r--tests/rustdoc/auxiliary/incoherent-impl-types.rs (renamed from src/test/rustdoc/auxiliary/incoherent-impl-types.rs)0
-rw-r--r--tests/rustdoc/auxiliary/inline-default-methods.rs (renamed from src/test/rustdoc/auxiliary/inline-default-methods.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-100204-aux.rs (renamed from src/test/rustdoc/auxiliary/issue-100204-aux.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-13698.rs (renamed from src/test/rustdoc/auxiliary/issue-13698.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-15318.rs (renamed from src/test/rustdoc/auxiliary/issue-15318.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-17476.rs (renamed from src/test/rustdoc/auxiliary/issue-17476.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-19190-3.rs (renamed from src/test/rustdoc/auxiliary/issue-19190-3.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-20646.rs (renamed from src/test/rustdoc/auxiliary/issue-20646.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-20727.rs (renamed from src/test/rustdoc/auxiliary/issue-20727.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-21092.rs (renamed from src/test/rustdoc/auxiliary/issue-21092.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-21801.rs (renamed from src/test/rustdoc/auxiliary/issue-21801.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-22025.rs (renamed from src/test/rustdoc/auxiliary/issue-22025.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-23207-1.rs (renamed from src/test/rustdoc/auxiliary/issue-23207-1.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-23207-2.rs (renamed from src/test/rustdoc/auxiliary/issue-23207-2.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-26606-macro.rs (renamed from src/test/rustdoc/auxiliary/issue-26606-macro.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-27362-aux.rs (renamed from src/test/rustdoc/auxiliary/issue-27362-aux.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-28927-1.rs (renamed from src/test/rustdoc/auxiliary/issue-28927-1.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-28927-2.rs (renamed from src/test/rustdoc/auxiliary/issue-28927-2.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-29584.rs (renamed from src/test/rustdoc/auxiliary/issue-29584.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-30109-1.rs (renamed from src/test/rustdoc/auxiliary/issue-30109-1.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-34274.rs (renamed from src/test/rustdoc/auxiliary/issue-34274.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-36031.rs (renamed from src/test/rustdoc/auxiliary/issue-36031.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-40936.rs (renamed from src/test/rustdoc/auxiliary/issue-40936.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-46727.rs (renamed from src/test/rustdoc/auxiliary/issue-46727.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-48414.rs (renamed from src/test/rustdoc/auxiliary/issue-48414.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-53689.rs (renamed from src/test/rustdoc/auxiliary/issue-53689.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-57180.rs (renamed from src/test/rustdoc/auxiliary/issue-57180.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-61592.rs (renamed from src/test/rustdoc/auxiliary/issue-61592.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-73061.rs (renamed from src/test/rustdoc/auxiliary/issue-73061.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-85454.rs17
-rw-r--r--tests/rustdoc/auxiliary/issue-86620-1.rs (renamed from src/test/rustdoc/auxiliary/issue-86620-1.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs (renamed from src/test/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-99221-aux.rs (renamed from src/test/rustdoc/auxiliary/issue-99221-aux.rs)0
-rw-r--r--tests/rustdoc/auxiliary/issue-99734-aux.rs (renamed from src/test/rustdoc/auxiliary/issue-99734-aux.rs)0
-rw-r--r--tests/rustdoc/auxiliary/macro_pub_in_module.rs (renamed from src/test/rustdoc/auxiliary/macro_pub_in_module.rs)0
-rw-r--r--tests/rustdoc/auxiliary/masked.rs (renamed from src/test/rustdoc/auxiliary/masked.rs)0
-rw-r--r--tests/rustdoc/auxiliary/mod-stackoverflow.rs (renamed from src/test/rustdoc/auxiliary/mod-stackoverflow.rs)0
-rw-r--r--tests/rustdoc/auxiliary/no_html_root.rs (renamed from src/test/ui/extern/auxiliary/m2.rs)0
-rw-r--r--tests/rustdoc/auxiliary/normalize-assoc-item.rs (renamed from src/test/rustdoc/auxiliary/normalize-assoc-item.rs)0
-rw-r--r--tests/rustdoc/auxiliary/primitive-doc.rs (renamed from src/test/rustdoc/auxiliary/primitive-doc.rs)0
-rw-r--r--tests/rustdoc/auxiliary/primitive-reexport.rs (renamed from src/test/rustdoc/auxiliary/primitive-reexport.rs)0
-rw-r--r--tests/rustdoc/auxiliary/pub-extern-crate.rs (renamed from src/test/rustdoc/auxiliary/pub-extern-crate.rs)0
-rw-r--r--tests/rustdoc/auxiliary/pub-use-extern-macros.rs (renamed from src/test/rustdoc/auxiliary/pub-use-extern-macros.rs)0
-rw-r--r--tests/rustdoc/auxiliary/real_gimli.rs (renamed from src/test/rustdoc/auxiliary/real_gimli.rs)0
-rw-r--r--tests/rustdoc/auxiliary/realcore.rs (renamed from src/test/rustdoc/auxiliary/realcore.rs)0
-rw-r--r--tests/rustdoc/auxiliary/reexp-stripped.rs (renamed from src/test/rustdoc/auxiliary/reexp-stripped.rs)0
-rw-r--r--tests/rustdoc/auxiliary/reexport-check.rs (renamed from src/test/rustdoc/auxiliary/reexport-check.rs)0
-rw-r--r--tests/rustdoc/auxiliary/reexport-doc-aux.rs (renamed from src/test/rustdoc/auxiliary/reexport-doc-aux.rs)0
-rw-r--r--tests/rustdoc/auxiliary/reexports.rs (renamed from src/test/rustdoc/auxiliary/reexports.rs)0
-rw-r--r--tests/rustdoc/auxiliary/rustdoc-default-impl.rs (renamed from src/test/rustdoc/auxiliary/rustdoc-default-impl.rs)0
-rw-r--r--tests/rustdoc/auxiliary/rustdoc-extern-default-method.rs (renamed from src/test/rustdoc/auxiliary/rustdoc-extern-default-method.rs)0
-rw-r--r--tests/rustdoc/auxiliary/rustdoc-extern-method.rs (renamed from src/test/rustdoc/auxiliary/rustdoc-extern-method.rs)0
-rw-r--r--tests/rustdoc/auxiliary/rustdoc-ffi.rs (renamed from src/test/rustdoc/auxiliary/rustdoc-ffi.rs)0
-rw-r--r--tests/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs (renamed from src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs)0
-rw-r--r--tests/rustdoc/auxiliary/source-code-bar.rs (renamed from src/test/rustdoc/auxiliary/source-code-bar.rs)0
-rw-r--r--tests/rustdoc/auxiliary/source_code.rs (renamed from src/test/rustdoc/auxiliary/source_code.rs)0
-rw-r--r--tests/rustdoc/auxiliary/src-links-external.rs (renamed from src/test/rustdoc/auxiliary/src-links-external.rs)0
-rw-r--r--tests/rustdoc/auxiliary/trait-alias-mention.rs (renamed from src/test/rustdoc/auxiliary/trait-alias-mention.rs)0
-rw-r--r--tests/rustdoc/auxiliary/trait-visibility.rs (renamed from src/test/rustdoc/auxiliary/trait-visibility.rs)0
-rw-r--r--tests/rustdoc/auxiliary/unit-return.rs (renamed from src/test/rustdoc/auxiliary/unit-return.rs)0
-rw-r--r--tests/rustdoc/auxiliary/unstable-trait.rs (renamed from src/test/rustdoc/auxiliary/unstable-trait.rs)0
-rw-r--r--tests/rustdoc/auxiliary/variant-struct.rs (renamed from src/test/rustdoc/auxiliary/variant-struct.rs)0
-rw-r--r--tests/rustdoc/bad-codeblock-syntax.rs (renamed from src/test/rustdoc/bad-codeblock-syntax.rs)0
-rw-r--r--tests/rustdoc/blanket-reexport-item.rs (renamed from src/test/rustdoc/blanket-reexport-item.rs)0
-rw-r--r--tests/rustdoc/bounds-in-multiple-parts.rs (renamed from src/test/rustdoc/bounds-in-multiple-parts.rs)0
-rw-r--r--tests/rustdoc/cap-lints.rs (renamed from src/test/rustdoc/cap-lints.rs)0
-rw-r--r--tests/rustdoc/cfg-doctest.rs (renamed from src/test/rustdoc/cfg-doctest.rs)0
-rw-r--r--tests/rustdoc/cfg_doc_reexport.rs (renamed from src/test/rustdoc/cfg_doc_reexport.rs)0
-rw-r--r--tests/rustdoc/check-source-code-urls-to-def-std.rs (renamed from src/test/rustdoc/check-source-code-urls-to-def-std.rs)0
-rw-r--r--tests/rustdoc/check-source-code-urls-to-def.rs (renamed from src/test/rustdoc/check-source-code-urls-to-def.rs)0
-rw-r--r--tests/rustdoc/check-styled-link.rs (renamed from src/test/rustdoc/check-styled-link.rs)0
-rw-r--r--tests/rustdoc/check.rs (renamed from src/test/rustdoc/check.rs)0
-rw-r--r--tests/rustdoc/codeblock-title.rs (renamed from src/test/rustdoc/codeblock-title.rs)0
-rw-r--r--tests/rustdoc/comment-in-doctest.rs (renamed from src/test/rustdoc/comment-in-doctest.rs)0
-rw-r--r--tests/rustdoc/const-display.rs (renamed from src/test/rustdoc/const-display.rs)0
-rw-r--r--tests/rustdoc/const-doc.rs (renamed from src/test/rustdoc/const-doc.rs)0
-rw-r--r--tests/rustdoc/const-fn.rs (renamed from src/test/rustdoc/const-fn.rs)2
-rw-r--r--tests/rustdoc/const-generics/add-impl.rs (renamed from src/test/rustdoc/const-generics/add-impl.rs)2
-rw-r--r--tests/rustdoc/const-generics/auxiliary/extern_crate.rs (renamed from src/test/rustdoc/const-generics/auxiliary/extern_crate.rs)0
-rw-r--r--tests/rustdoc/const-generics/const-generic-defaults.rs5
-rw-r--r--tests/rustdoc/const-generics/const-generic-slice.rs (renamed from src/test/rustdoc/const-generics/const-generic-slice.rs)0
-rw-r--r--tests/rustdoc/const-generics/const-generics-docs.rs128
-rw-r--r--tests/rustdoc/const-generics/const-impl.rs (renamed from src/test/rustdoc/const-generics/const-impl.rs)2
-rw-r--r--tests/rustdoc/const-generics/generic_const_exprs.rs (renamed from src/test/rustdoc/const-generics/generic_const_exprs.rs)2
-rw-r--r--tests/rustdoc/const-generics/lazy_normalization_consts/const-equate-pred.rs (renamed from src/test/rustdoc/const-generics/lazy_normalization_consts/const-equate-pred.rs)0
-rw-r--r--tests/rustdoc/const-generics/type-alias.rs4
-rw-r--r--tests/rustdoc/const-intrinsic.rs25
-rw-r--r--tests/rustdoc/const-underscore.rs (renamed from src/test/rustdoc/const-underscore.rs)0
-rw-r--r--tests/rustdoc/const-value-display.rs (renamed from src/test/rustdoc/const-value-display.rs)0
-rw-r--r--tests/rustdoc/const.rs (renamed from src/test/rustdoc/const.rs)0
-rw-r--r--tests/rustdoc/constructor-imports.rs (renamed from src/test/rustdoc/constructor-imports.rs)0
-rw-r--r--tests/rustdoc/crate-version-escape.rs (renamed from src/test/rustdoc/crate-version-escape.rs)0
-rw-r--r--tests/rustdoc/crate-version.rs (renamed from src/test/rustdoc/crate-version.rs)0
-rw-r--r--tests/rustdoc/cross-crate-hidden-assoc-trait-items.rs (renamed from src/test/rustdoc/cross-crate-hidden-assoc-trait-items.rs)0
-rw-r--r--tests/rustdoc/cross-crate-hidden-impl-parameter.rs (renamed from src/test/rustdoc/cross-crate-hidden-impl-parameter.rs)0
-rw-r--r--tests/rustdoc/cross-crate-links.rs (renamed from src/test/rustdoc/cross-crate-links.rs)0
-rw-r--r--tests/rustdoc/cross-crate-primitive-doc.rs (renamed from src/test/rustdoc/cross-crate-primitive-doc.rs)0
-rw-r--r--tests/rustdoc/decl-trailing-whitespace.declaration.html (renamed from src/test/rustdoc/decl-trailing-whitespace.declaration.html)0
-rw-r--r--tests/rustdoc/decl-trailing-whitespace.rs (renamed from src/test/rustdoc/decl-trailing-whitespace.rs)0
-rw-r--r--tests/rustdoc/decl_macro.rs (renamed from src/test/rustdoc/decl_macro.rs)0
-rw-r--r--tests/rustdoc/decl_macro_priv.rs (renamed from src/test/rustdoc/decl_macro_priv.rs)0
-rw-r--r--tests/rustdoc/deep-structures.rs (renamed from src/test/rustdoc/deep-structures.rs)0
-rw-r--r--tests/rustdoc/default-impl.rs (renamed from src/test/rustdoc/default-impl.rs)0
-rw-r--r--tests/rustdoc/default-theme.rs (renamed from src/test/rustdoc/default-theme.rs)0
-rw-r--r--tests/rustdoc/default-trait-method-link.rs (renamed from src/test/rustdoc/default-trait-method-link.rs)0
-rw-r--r--tests/rustdoc/default-trait-method.rs (renamed from src/test/rustdoc/default-trait-method.rs)0
-rw-r--r--tests/rustdoc/deprecated-future-staged-api.rs (renamed from src/test/rustdoc/deprecated-future-staged-api.rs)0
-rw-r--r--tests/rustdoc/deprecated-future.rs (renamed from src/test/rustdoc/deprecated-future.rs)0
-rw-r--r--tests/rustdoc/deprecated-impls.rs (renamed from src/test/rustdoc/deprecated-impls.rs)0
-rw-r--r--tests/rustdoc/deprecated.rs (renamed from src/test/rustdoc/deprecated.rs)0
-rw-r--r--tests/rustdoc/deref-const-fn.rs (renamed from src/test/rustdoc/deref-const-fn.rs)0
-rw-r--r--tests/rustdoc/deref-mut-methods.rs (renamed from src/test/rustdoc/deref-mut-methods.rs)0
-rw-r--r--tests/rustdoc/deref-recursive-pathbuf.rs (renamed from src/test/rustdoc/deref-recursive-pathbuf.rs)0
-rw-r--r--tests/rustdoc/deref-recursive.rs (renamed from src/test/rustdoc/deref-recursive.rs)0
-rw-r--r--tests/rustdoc/deref-slice-core.rs (renamed from src/test/rustdoc/deref-slice-core.rs)0
-rw-r--r--tests/rustdoc/deref-to-primitive.rs (renamed from src/test/rustdoc/deref-to-primitive.rs)0
-rw-r--r--tests/rustdoc/deref-typedef.rs (renamed from src/test/rustdoc/deref-typedef.rs)0
-rw-r--r--tests/rustdoc/description.rs (renamed from src/test/rustdoc/description.rs)0
-rw-r--r--tests/rustdoc/description_default.rs (renamed from src/test/rustdoc/description_default.rs)0
-rw-r--r--tests/rustdoc/doc-assoc-item.rs (renamed from src/test/rustdoc/doc-assoc-item.rs)0
-rw-r--r--tests/rustdoc/doc-auto-cfg.rs (renamed from src/test/rustdoc/doc-auto-cfg.rs)0
-rw-r--r--tests/rustdoc/doc-cfg-hide.rs (renamed from src/test/rustdoc/doc-cfg-hide.rs)0
-rw-r--r--tests/rustdoc/doc-cfg-implicit-gate.rs (renamed from src/test/rustdoc/doc-cfg-implicit-gate.rs)0
-rw-r--r--tests/rustdoc/doc-cfg-implicit.rs (renamed from src/test/rustdoc/doc-cfg-implicit.rs)0
-rw-r--r--tests/rustdoc/doc-cfg-simplification.rs (renamed from src/test/rustdoc/doc-cfg-simplification.rs)0
-rw-r--r--tests/rustdoc/doc-cfg-target-feature.rs (renamed from src/test/rustdoc/doc-cfg-target-feature.rs)0
-rw-r--r--tests/rustdoc/doc-cfg-traits.rs (renamed from src/test/rustdoc/doc-cfg-traits.rs)0
-rw-r--r--tests/rustdoc/doc-cfg.rs (renamed from src/test/rustdoc/doc-cfg.rs)0
-rw-r--r--tests/rustdoc/doc-notable_trait-mut_t_is_not_an_iterator.rs (renamed from src/test/rustdoc/doc-notable_trait-mut_t_is_not_an_iterator.rs)0
-rw-r--r--tests/rustdoc/doc-notable_trait-mut_t_is_not_ref_t.rs (renamed from src/test/rustdoc/doc-notable_trait-mut_t_is_not_ref_t.rs)0
-rw-r--r--tests/rustdoc/doc-notable_trait-slice.bare_fn_matches.html1
-rw-r--r--tests/rustdoc/doc-notable_trait-slice.rs (renamed from src/test/rustdoc/doc-notable_trait-slice.rs)0
-rw-r--r--tests/rustdoc/doc-notable_trait.bare-fn.html1
-rw-r--r--tests/rustdoc/doc-notable_trait.rs (renamed from src/test/rustdoc/doc-notable_trait.rs)0
-rw-r--r--tests/rustdoc/doc-notable_trait.some-struct-new.html1
-rw-r--r--tests/rustdoc/doc-notable_trait.wrap-me.html1
-rw-r--r--tests/rustdoc/doc-notable_trait_box_is_not_an_iterator.rs (renamed from src/test/rustdoc/doc-notable_trait_box_is_not_an_iterator.rs)0
-rw-r--r--tests/rustdoc/doc-proc-macro.rs (renamed from src/test/rustdoc/doc-proc-macro.rs)0
-rw-r--r--tests/rustdoc/doc_auto_cfg_nested_impl.rs (renamed from src/test/rustdoc/doc_auto_cfg_nested_impl.rs)0
-rw-r--r--tests/rustdoc/doctest-manual-crate-name.rs (renamed from src/test/rustdoc/doctest-manual-crate-name.rs)0
-rw-r--r--tests/rustdoc/double-quote-escape.rs (renamed from src/test/rustdoc/double-quote-escape.rs)0
-rw-r--r--tests/rustdoc/duplicate-cfg.rs (renamed from src/test/rustdoc/duplicate-cfg.rs)0
-rw-r--r--tests/rustdoc/duplicate-flags.rs (renamed from src/test/rustdoc/duplicate-flags.rs)0
-rw-r--r--tests/rustdoc/duplicate_impls/impls.rs (renamed from src/test/rustdoc/duplicate_impls/impls.rs)0
-rw-r--r--tests/rustdoc/duplicate_impls/issue-33054.rs (renamed from src/test/rustdoc/duplicate_impls/issue-33054.rs)0
-rw-r--r--tests/rustdoc/duplicated_impl.rs (renamed from src/test/rustdoc/duplicated_impl.rs)0
-rw-r--r--tests/rustdoc/early-unindent.rs (renamed from src/test/rustdoc/early-unindent.rs)0
-rw-r--r--tests/rustdoc/edition-doctest.rs (renamed from src/test/rustdoc/edition-doctest.rs)0
-rw-r--r--tests/rustdoc/edition-flag.rs (renamed from src/test/rustdoc/edition-flag.rs)0
-rw-r--r--tests/rustdoc/elided-lifetime.rs (renamed from src/test/rustdoc/elided-lifetime.rs)0
-rw-r--r--tests/rustdoc/empty-doc-comment.rs (renamed from src/test/rustdoc/empty-doc-comment.rs)0
-rw-r--r--tests/rustdoc/empty-impl-block-private-with-doc.rs (renamed from src/test/rustdoc/empty-impl-block-private-with-doc.rs)0
-rw-r--r--tests/rustdoc/empty-impl-block-private.rs (renamed from src/test/rustdoc/empty-impl-block-private.rs)0
-rw-r--r--tests/rustdoc/empty-impl-block.rs (renamed from src/test/rustdoc/empty-impl-block.rs)0
-rw-r--r--tests/rustdoc/empty-impls.rs (renamed from src/test/rustdoc/empty-impls.rs)0
-rw-r--r--tests/rustdoc/empty-mod-private.rs (renamed from src/test/rustdoc/empty-mod-private.rs)0
-rw-r--r--tests/rustdoc/empty-mod-public.rs (renamed from src/test/rustdoc/empty-mod-public.rs)0
-rw-r--r--tests/rustdoc/empty-section.rs (renamed from src/test/rustdoc/empty-section.rs)0
-rw-r--r--tests/rustdoc/ensure-src-link.rs (renamed from src/test/rustdoc/ensure-src-link.rs)0
-rw-r--r--tests/rustdoc/enum-headings.rs (renamed from src/test/rustdoc/enum-headings.rs)0
-rw-r--r--tests/rustdoc/escape-deref-methods.rs (renamed from src/test/rustdoc/escape-deref-methods.rs)0
-rw-r--r--tests/rustdoc/extern-default-method.no_href_on_anchor.html (renamed from src/test/rustdoc/extern-default-method.no_href_on_anchor.html)0
-rw-r--r--tests/rustdoc/extern-default-method.rs (renamed from src/test/rustdoc/extern-default-method.rs)0
-rw-r--r--tests/rustdoc/extern-html-root-url-precedence.rs (renamed from src/test/rustdoc/extern-html-root-url-precedence.rs)0
-rw-r--r--tests/rustdoc/extern-html-root-url.rs (renamed from src/test/rustdoc/extern-html-root-url.rs)0
-rw-r--r--tests/rustdoc/extern-impl-trait.rs (renamed from src/test/rustdoc/extern-impl-trait.rs)0
-rw-r--r--tests/rustdoc/extern-impl.rs (renamed from src/test/rustdoc/extern-impl.rs)0
-rw-r--r--tests/rustdoc/extern-links.rs (renamed from src/test/rustdoc/extern-links.rs)0
-rw-r--r--tests/rustdoc/extern-method.rs (renamed from src/test/rustdoc/extern-method.rs)0
-rw-r--r--tests/rustdoc/external-cross.rs (renamed from src/test/rustdoc/external-cross.rs)0
-rw-r--r--tests/rustdoc/external-doc.rs (renamed from src/test/rustdoc/external-doc.rs)0
-rw-r--r--tests/rustdoc/external-macro-src.rs (renamed from src/test/rustdoc/external-macro-src.rs)0
-rw-r--r--tests/rustdoc/feature-gate-doc_auto_cfg.rs (renamed from src/test/rustdoc/feature-gate-doc_auto_cfg.rs)0
-rw-r--r--tests/rustdoc/ffi.rs (renamed from src/test/rustdoc/ffi.rs)0
-rw-r--r--tests/rustdoc/fn-bound.rs (renamed from src/test/rustdoc/fn-bound.rs)0
-rw-r--r--tests/rustdoc/fn-pointer-arg-name.rs5
-rw-r--r--tests/rustdoc/fn-sidebar.rs (renamed from src/test/rustdoc/fn-sidebar.rs)0
-rw-r--r--tests/rustdoc/fn-type.rs (renamed from src/test/rustdoc/fn-type.rs)0
-rw-r--r--tests/rustdoc/force-target-feature.rs (renamed from src/test/rustdoc/force-target-feature.rs)0
-rw-r--r--tests/rustdoc/foreigntype-reexport.rs (renamed from src/test/rustdoc/foreigntype-reexport.rs)0
-rw-r--r--tests/rustdoc/foreigntype.rs (renamed from src/test/rustdoc/foreigntype.rs)0
-rw-r--r--tests/rustdoc/generic-associated-types/gats.rs (renamed from src/test/rustdoc/generic-associated-types/gats.rs)0
-rw-r--r--tests/rustdoc/generic-associated-types/issue-94683.rs (renamed from src/test/rustdoc/generic-associated-types/issue-94683.rs)0
-rw-r--r--tests/rustdoc/generic-impl.rs (renamed from src/test/rustdoc/generic-impl.rs)0
-rw-r--r--tests/rustdoc/generic_const_exprs.rs (renamed from src/test/rustdoc/generic_const_exprs.rs)0
-rw-r--r--tests/rustdoc/glob-shadowing-const.rs (renamed from src/test/rustdoc/glob-shadowing-const.rs)0
-rw-r--r--tests/rustdoc/glob-shadowing.rs (renamed from src/test/rustdoc/glob-shadowing.rs)0
-rw-r--r--tests/rustdoc/hidden-impls.rs (renamed from src/test/rustdoc/hidden-impls.rs)0
-rw-r--r--tests/rustdoc/hidden-line.rs (renamed from src/test/rustdoc/hidden-line.rs)0
-rw-r--r--tests/rustdoc/hidden-methods.rs (renamed from src/test/rustdoc/hidden-methods.rs)0
-rw-r--r--tests/rustdoc/hidden-trait-methods-with-document-hidden-items.rs (renamed from src/test/rustdoc/hidden-trait-methods-with-document-hidden-items.rs)0
-rw-r--r--tests/rustdoc/hidden-trait-methods.rs (renamed from src/test/rustdoc/hidden-trait-methods.rs)0
-rw-r--r--tests/rustdoc/hidden-trait-struct-impls.rs (renamed from src/test/rustdoc/hidden-trait-struct-impls.rs)0
-rw-r--r--tests/rustdoc/hide-complex-unevaluated-const-arguments.rs (renamed from src/test/rustdoc/hide-complex-unevaluated-const-arguments.rs)2
-rw-r--r--tests/rustdoc/hide-complex-unevaluated-consts.rs (renamed from src/test/rustdoc/hide-complex-unevaluated-consts.rs)0
-rw-r--r--tests/rustdoc/hide-unstable-trait.rs (renamed from src/test/rustdoc/hide-unstable-trait.rs)0
-rw-r--r--tests/rustdoc/higher-ranked-trait-bounds.rs (renamed from src/test/rustdoc/higher-ranked-trait-bounds.rs)0
-rw-r--r--tests/rustdoc/impl-box.rs (renamed from src/test/rustdoc/impl-box.rs)0
-rw-r--r--tests/rustdoc/impl-disambiguation.rs (renamed from src/test/rustdoc/impl-disambiguation.rs)0
-rw-r--r--tests/rustdoc/impl-everywhere.rs (renamed from src/test/rustdoc/impl-everywhere.rs)0
-rw-r--r--tests/rustdoc/impl-parts-crosscrate.rs (renamed from src/test/rustdoc/impl-parts-crosscrate.rs)0
-rw-r--r--tests/rustdoc/impl-parts.rs (renamed from src/test/rustdoc/impl-parts.rs)0
-rw-r--r--tests/rustdoc/impl-trait-alias.rs (renamed from src/test/rustdoc/impl-trait-alias.rs)0
-rw-r--r--tests/rustdoc/implementor-stable-version.rs (renamed from src/test/rustdoc/implementor-stable-version.rs)0
-rw-r--r--tests/rustdoc/impossible-default.rs (renamed from src/test/rustdoc/impossible-default.rs)0
-rw-r--r--tests/rustdoc/include_str_cut.rs (renamed from src/test/rustdoc/include_str_cut.rs)0
-rw-r--r--tests/rustdoc/index-page.rs (renamed from src/test/rustdoc/index-page.rs)2
-rw-r--r--tests/rustdoc/infinite-redirection.rs (renamed from src/test/rustdoc/infinite-redirection.rs)0
-rw-r--r--tests/rustdoc/inline-default-methods.rs9
-rw-r--r--tests/rustdoc/inline_cross/add-docs.rs (renamed from src/test/rustdoc/inline_cross/add-docs.rs)0
-rw-r--r--tests/rustdoc/inline_cross/assoc-items.rs (renamed from src/test/rustdoc/inline_cross/assoc-items.rs)0
-rw-r--r--tests/rustdoc/inline_cross/assoc_item_trait_bounds.out0.html (renamed from src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out0.html)0
-rw-r--r--tests/rustdoc/inline_cross/assoc_item_trait_bounds.out2.html (renamed from src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out2.html)0
-rw-r--r--tests/rustdoc/inline_cross/assoc_item_trait_bounds.out9.html (renamed from src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out9.html)0
-rw-r--r--tests/rustdoc/inline_cross/assoc_item_trait_bounds.rs (renamed from src/test/rustdoc/inline_cross/assoc_item_trait_bounds.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/add-docs.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/add-docs.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/assoc-items.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/assoc-items.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/assoc_item_trait_bounds.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/assoc_item_trait_bounds.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/cross-glob.rs7
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/default-trait-method.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/default-trait-method.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/dyn_trait.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/dyn_trait.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/impl-inline-without-trait.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/impl-inline-without-trait.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/impl_trait_aux.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/impl_trait_aux.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/implementors_inline.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/implementors_inline.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/issue-24183.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/issue-24183.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/issue-33113.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/issue-33113.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/macro-vis.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/macro-vis.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/macros.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/macros.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/proc_macro.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/proc_macro.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/renamed-via-module.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/renamed-via-module.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/rustdoc-hidden-sig.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden-sig.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/rustdoc-hidden.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/rustdoc-nonreachable-impls.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/rustdoc-nonreachable-impls.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/trait-vis.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/trait-vis.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/use_crate.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/use_crate.rs)0
-rw-r--r--tests/rustdoc/inline_cross/auxiliary/use_crate_2.rs (renamed from src/test/rustdoc/inline_cross/auxiliary/use_crate_2.rs)0
-rw-r--r--tests/rustdoc/inline_cross/cross-glob.rs16
-rw-r--r--tests/rustdoc/inline_cross/default-trait-method.rs (renamed from src/test/rustdoc/inline_cross/default-trait-method.rs)0
-rw-r--r--tests/rustdoc/inline_cross/dyn_trait.rs (renamed from src/test/rustdoc/inline_cross/dyn_trait.rs)4
-rw-r--r--tests/rustdoc/inline_cross/hidden-use.rs (renamed from src/test/rustdoc/inline_cross/hidden-use.rs)0
-rw-r--r--tests/rustdoc/inline_cross/impl-inline-without-trait.rs (renamed from src/test/rustdoc/inline_cross/impl-inline-without-trait.rs)0
-rw-r--r--tests/rustdoc/inline_cross/impl_trait.rs47
-rw-r--r--tests/rustdoc/inline_cross/implementors-js.rs (renamed from src/test/rustdoc/inline_cross/implementors-js.rs)0
-rw-r--r--tests/rustdoc/inline_cross/inline_hidden.rs (renamed from src/test/rustdoc/inline_cross/inline_hidden.rs)0
-rw-r--r--tests/rustdoc/inline_cross/issue-24183.method_no_where_self_sized.html (renamed from src/test/rustdoc/inline_cross/issue-24183.method_no_where_self_sized.html)0
-rw-r--r--tests/rustdoc/inline_cross/issue-24183.rs (renamed from src/test/rustdoc/inline_cross/issue-24183.rs)0
-rw-r--r--tests/rustdoc/inline_cross/issue-28480.rs (renamed from src/test/rustdoc/inline_cross/issue-28480.rs)0
-rw-r--r--tests/rustdoc/inline_cross/issue-31948-1.rs (renamed from src/test/rustdoc/inline_cross/issue-31948-1.rs)0
-rw-r--r--tests/rustdoc/inline_cross/issue-31948-2.rs (renamed from src/test/rustdoc/inline_cross/issue-31948-2.rs)0
-rw-r--r--tests/rustdoc/inline_cross/issue-31948.rs (renamed from src/test/rustdoc/inline_cross/issue-31948.rs)0
-rw-r--r--tests/rustdoc/inline_cross/issue-32881.rs (renamed from src/test/rustdoc/inline_cross/issue-32881.rs)0
-rw-r--r--tests/rustdoc/inline_cross/issue-33113.rs (renamed from src/test/rustdoc/inline_cross/issue-33113.rs)0
-rw-r--r--tests/rustdoc/inline_cross/macro-vis.rs (renamed from src/test/rustdoc/inline_cross/macro-vis.rs)0
-rw-r--r--tests/rustdoc/inline_cross/macros.rs (renamed from src/test/rustdoc/inline_cross/macros.rs)0
-rw-r--r--tests/rustdoc/inline_cross/proc_macro.rs (renamed from src/test/rustdoc/inline_cross/proc_macro.rs)0
-rw-r--r--tests/rustdoc/inline_cross/renamed-via-module.rs (renamed from src/test/rustdoc/inline_cross/renamed-via-module.rs)0
-rw-r--r--tests/rustdoc/inline_cross/trait-vis.rs (renamed from src/test/rustdoc/inline_cross/trait-vis.rs)0
-rw-r--r--tests/rustdoc/inline_cross/use_crate.rs (renamed from src/test/rustdoc/inline_cross/use_crate.rs)0
-rw-r--r--tests/rustdoc/inline_local/glob-extern-document-private-items.rs (renamed from src/test/rustdoc/inline_local/glob-extern-document-private-items.rs)0
-rw-r--r--tests/rustdoc/inline_local/glob-extern.rs (renamed from src/test/rustdoc/inline_local/glob-extern.rs)0
-rw-r--r--tests/rustdoc/inline_local/glob-private-document-private-items.rs (renamed from src/test/rustdoc/inline_local/glob-private-document-private-items.rs)0
-rw-r--r--tests/rustdoc/inline_local/glob-private.rs (renamed from src/test/rustdoc/inline_local/glob-private.rs)0
-rw-r--r--tests/rustdoc/inline_local/hidden-use.rs (renamed from src/test/rustdoc/inline_local/hidden-use.rs)0
-rw-r--r--tests/rustdoc/inline_local/issue-28537.rs (renamed from src/test/rustdoc/inline_local/issue-28537.rs)0
-rw-r--r--tests/rustdoc/inline_local/issue-32343.rs (renamed from src/test/rustdoc/inline_local/issue-32343.rs)0
-rw-r--r--tests/rustdoc/inline_local/macro_by_example.rs (renamed from src/test/rustdoc/inline_local/macro_by_example.rs)0
-rw-r--r--tests/rustdoc/inline_local/please_inline.rs (renamed from src/test/rustdoc/inline_local/please_inline.rs)0
-rw-r--r--tests/rustdoc/inline_local/trait-vis.rs (renamed from src/test/rustdoc/inline_local/trait-vis.rs)0
-rw-r--r--tests/rustdoc/internal.rs (renamed from src/test/rustdoc/internal.rs)0
-rw-r--r--tests/rustdoc/intra-doc-crate/auxiliary/self.rs (renamed from src/test/rustdoc/intra-doc-crate/auxiliary/self.rs)0
-rw-r--r--tests/rustdoc/intra-doc-crate/self.rs (renamed from src/test/rustdoc/intra-doc-crate/self.rs)0
-rw-r--r--tests/rustdoc/intra-doc/anchors.rs (renamed from src/test/rustdoc/intra-doc/anchors.rs)0
-rw-r--r--tests/rustdoc/intra-doc/assoc-reexport-super.rs (renamed from src/test/rustdoc/intra-doc/assoc-reexport-super.rs)0
-rw-r--r--tests/rustdoc/intra-doc/associated-defaults.rs (renamed from src/test/rustdoc/intra-doc/associated-defaults.rs)0
-rw-r--r--tests/rustdoc/intra-doc/associated-items.rs (renamed from src/test/rustdoc/intra-doc/associated-items.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/empty.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/empty.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/empty2.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/empty2.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/extern-builtin-type-impl-dep.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/extern-builtin-type-impl-dep.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/extern-inherent-impl-dep.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/extern-inherent-impl-dep.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/intra-link-extern-crate.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/intra-link-extern-crate.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/intra-link-pub-use.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/intra-link-pub-use.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/intra-link-reexport-additional-docs.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/intra-link-reexport-additional-docs.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/intra-links-external-traits.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/intra-links-external-traits.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/issue-103463-aux.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/issue-103463-aux.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/issue-66159-1.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/issue-66159-1.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/my-core.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/my-core.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/proc-macro-macro.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/proc-macro-macro.rs)0
-rw-r--r--tests/rustdoc/intra-doc/auxiliary/pub-struct.rs (renamed from src/test/rustdoc/intra-doc/auxiliary/pub-struct.rs)0
-rw-r--r--tests/rustdoc/intra-doc/basic.rs (renamed from src/test/rustdoc/intra-doc/basic.rs)0
-rw-r--r--tests/rustdoc/intra-doc/builtin-macros.rs (renamed from src/test/rustdoc/intra-doc/builtin-macros.rs)0
-rw-r--r--tests/rustdoc/intra-doc/crate-relative-assoc.rs (renamed from src/test/rustdoc/intra-doc/crate-relative-assoc.rs)0
-rw-r--r--tests/rustdoc/intra-doc/crate-relative.rs (renamed from src/test/rustdoc/intra-doc/crate-relative.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/additional_doc.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/additional_doc.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/additional_doc.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/additional_doc.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/hidden.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/hidden.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/intra-doc-basic.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/intra-doc-basic.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/intra-link-cross-crate-crate.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/intra-link-cross-crate-crate.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/macro_inner.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/macro_inner.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/module.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/module.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/proc_macro.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/proc_macro.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/submodule-inner.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/submodule-inner.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/submodule-outer.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/submodule-outer.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/auxiliary/traits.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/auxiliary/traits.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/basic.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/basic.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/crate.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/crate.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/hidden.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/hidden.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/macro.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/macro.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/module.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/module.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/submodule-inner.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/submodule-inner.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/submodule-outer.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/submodule-outer.rs)0
-rw-r--r--tests/rustdoc/intra-doc/cross-crate/traits.rs (renamed from src/test/rustdoc/intra-doc/cross-crate/traits.rs)0
-rw-r--r--tests/rustdoc/intra-doc/disambiguators-removed.rs (renamed from src/test/rustdoc/intra-doc/disambiguators-removed.rs)0
-rw-r--r--tests/rustdoc/intra-doc/email-address.rs (renamed from src/test/rustdoc/intra-doc/email-address.rs)0
-rw-r--r--tests/rustdoc/intra-doc/enum-struct-field.rs (renamed from src/test/rustdoc/intra-doc/enum-struct-field.rs)0
-rw-r--r--tests/rustdoc/intra-doc/extern-builtin-type-impl.rs (renamed from src/test/rustdoc/intra-doc/extern-builtin-type-impl.rs)0
-rw-r--r--tests/rustdoc/intra-doc/extern-crate-only-used-in-link.rs (renamed from src/test/rustdoc/intra-doc/extern-crate-only-used-in-link.rs)0
-rw-r--r--tests/rustdoc/intra-doc/extern-crate.rs (renamed from src/test/rustdoc/intra-doc/extern-crate.rs)0
-rw-r--r--tests/rustdoc/intra-doc/extern-inherent-impl.rs (renamed from src/test/rustdoc/intra-doc/extern-inherent-impl.rs)0
-rw-r--r--tests/rustdoc/intra-doc/extern-reference-link.rs (renamed from src/test/rustdoc/intra-doc/extern-reference-link.rs)0
-rw-r--r--tests/rustdoc/intra-doc/extern-type.rs (renamed from src/test/rustdoc/intra-doc/extern-type.rs)0
-rw-r--r--tests/rustdoc/intra-doc/external-traits.rs (renamed from src/test/rustdoc/intra-doc/external-traits.rs)0
-rw-r--r--tests/rustdoc/intra-doc/field.rs (renamed from src/test/rustdoc/intra-doc/field.rs)0
-rw-r--r--tests/rustdoc/intra-doc/generic-params.rs (renamed from src/test/rustdoc/intra-doc/generic-params.rs)0
-rw-r--r--tests/rustdoc/intra-doc/generic-trait-impl.rs (renamed from src/test/rustdoc/intra-doc/generic-trait-impl.rs)0
-rw-r--r--tests/rustdoc/intra-doc/in-bodies.rs (renamed from src/test/rustdoc/intra-doc/in-bodies.rs)0
-rw-r--r--tests/rustdoc/intra-doc/issue-103463.rs (renamed from src/test/rustdoc/intra-doc/issue-103463.rs)0
-rw-r--r--tests/rustdoc/intra-doc/issue-104145.rs (renamed from src/test/rustdoc/intra-doc/issue-104145.rs)0
-rw-r--r--tests/rustdoc/intra-doc/issue-66159.rs (renamed from src/test/rustdoc/intra-doc/issue-66159.rs)0
-rw-r--r--tests/rustdoc/intra-doc/issue-82209.rs (renamed from src/test/rustdoc/intra-doc/issue-82209.rs)0
-rw-r--r--tests/rustdoc/intra-doc/libstd-re-export.rs (renamed from src/test/rustdoc/intra-doc/libstd-re-export.rs)0
-rw-r--r--tests/rustdoc/intra-doc/macros-disambiguators.rs (renamed from src/test/rustdoc/intra-doc/macros-disambiguators.rs)0
-rw-r--r--tests/rustdoc/intra-doc/mod-ambiguity.rs (renamed from src/test/rustdoc/intra-doc/mod-ambiguity.rs)0
-rw-r--r--tests/rustdoc/intra-doc/mod-relative.rs (renamed from src/test/rustdoc/intra-doc/mod-relative.rs)0
-rw-r--r--tests/rustdoc/intra-doc/no-doc-primitive.rs (renamed from src/test/rustdoc/intra-doc/no-doc-primitive.rs)0
-rw-r--r--tests/rustdoc/intra-doc/non-path-primitives.rs (renamed from src/test/rustdoc/intra-doc/non-path-primitives.rs)0
-rw-r--r--tests/rustdoc/intra-doc/prim-assoc.rs (renamed from src/test/rustdoc/intra-doc/prim-assoc.rs)0
-rw-r--r--tests/rustdoc/intra-doc/prim-associated-traits.rs (renamed from src/test/rustdoc/intra-doc/prim-associated-traits.rs)0
-rw-r--r--tests/rustdoc/intra-doc/prim-methods-external-core.rs (renamed from src/test/rustdoc/intra-doc/prim-methods-external-core.rs)0
-rw-r--r--tests/rustdoc/intra-doc/prim-methods-local.rs (renamed from src/test/rustdoc/intra-doc/prim-methods-local.rs)0
-rw-r--r--tests/rustdoc/intra-doc/prim-methods.rs (renamed from src/test/rustdoc/intra-doc/prim-methods.rs)0
-rw-r--r--tests/rustdoc/intra-doc/prim-precedence.rs (renamed from src/test/rustdoc/intra-doc/prim-precedence.rs)0
-rw-r--r--tests/rustdoc/intra-doc/prim-self.rs (renamed from src/test/rustdoc/intra-doc/prim-self.rs)0
-rw-r--r--tests/rustdoc/intra-doc/primitive-disambiguators.rs (renamed from src/test/rustdoc/intra-doc/primitive-disambiguators.rs)0
-rw-r--r--tests/rustdoc/intra-doc/primitive-non-default-impl.rs (renamed from src/test/rustdoc/intra-doc/primitive-non-default-impl.rs)0
-rw-r--r--tests/rustdoc/intra-doc/private-failures-ignored.rs (renamed from src/test/rustdoc/intra-doc/private-failures-ignored.rs)0
-rw-r--r--tests/rustdoc/intra-doc/private.rs (renamed from src/test/rustdoc/intra-doc/private.rs)0
-rw-r--r--tests/rustdoc/intra-doc/proc-macro.rs (renamed from src/test/rustdoc/intra-doc/proc-macro.rs)0
-rw-r--r--tests/rustdoc/intra-doc/pub-use.rs (renamed from src/test/rustdoc/intra-doc/pub-use.rs)0
-rw-r--r--tests/rustdoc/intra-doc/raw-ident-self.rs (renamed from src/test/rustdoc/intra-doc/raw-ident-self.rs)0
-rw-r--r--tests/rustdoc/intra-doc/reexport-additional-docs.rs (renamed from src/test/rustdoc/intra-doc/reexport-additional-docs.rs)0
-rw-r--r--tests/rustdoc/intra-doc/self-cache.rs (renamed from src/test/rustdoc/intra-doc/self-cache.rs)0
-rw-r--r--tests/rustdoc/intra-doc/self.rs (renamed from src/test/rustdoc/intra-doc/self.rs)0
-rw-r--r--tests/rustdoc/intra-doc/trait-impl.rs (renamed from src/test/rustdoc/intra-doc/trait-impl.rs)0
-rw-r--r--tests/rustdoc/intra-doc/trait-item.rs (renamed from src/test/rustdoc/intra-doc/trait-item.rs)0
-rw-r--r--tests/rustdoc/intra-doc/true-false.rs (renamed from src/test/rustdoc/intra-doc/true-false.rs)0
-rw-r--r--tests/rustdoc/intra-doc/type-alias.rs (renamed from src/test/rustdoc/intra-doc/type-alias.rs)0
-rw-r--r--tests/rustdoc/invalid.crate.name.rs (renamed from src/test/rustdoc/invalid.crate.name.rs)0
-rw-r--r--tests/rustdoc/issue-100204-inline-impl-through-glob-import.rs (renamed from src/test/rustdoc/issue-100204-inline-impl-through-glob-import.rs)0
-rw-r--r--tests/rustdoc/issue-100241.rs (renamed from src/test/rustdoc/issue-100241.rs)0
-rw-r--r--tests/rustdoc/issue-100620.rs (renamed from src/test/rustdoc/issue-100620.rs)0
-rw-r--r--tests/rustdoc/issue-100679-sidebar-links-deref.rs (renamed from src/test/rustdoc/issue-100679-sidebar-links-deref.rs)0
-rw-r--r--tests/rustdoc/issue-101743-bold-tag.rs (renamed from src/test/rustdoc/issue-101743-bold-tag.rs)0
-rw-r--r--tests/rustdoc/issue-102154.rs (renamed from src/test/rustdoc/issue-102154.rs)0
-rw-r--r--tests/rustdoc/issue-105952.rs14
-rw-r--r--tests/rustdoc/issue-107350.rs18
-rw-r--r--tests/rustdoc/issue-12834.rs (renamed from src/test/rustdoc/issue-12834.rs)0
-rw-r--r--tests/rustdoc/issue-13698.rs (renamed from src/test/rustdoc/issue-13698.rs)0
-rw-r--r--tests/rustdoc/issue-15169.rs (renamed from src/test/rustdoc/issue-15169.rs)0
-rw-r--r--tests/rustdoc/issue-15318-2.rs (renamed from src/test/rustdoc/issue-15318-2.rs)0
-rw-r--r--tests/rustdoc/issue-15318-3.rs (renamed from src/test/rustdoc/issue-15318-3.rs)0
-rw-r--r--tests/rustdoc/issue-15318.rs (renamed from src/test/rustdoc/issue-15318.rs)0
-rw-r--r--tests/rustdoc/issue-15347.rs (renamed from src/test/rustdoc/issue-15347.rs)0
-rw-r--r--tests/rustdoc/issue-16019.rs (renamed from src/test/rustdoc/issue-16019.rs)0
-rw-r--r--tests/rustdoc/issue-16265-1.rs (renamed from src/test/rustdoc/issue-16265-1.rs)0
-rw-r--r--tests/rustdoc/issue-16265-2.rs (renamed from src/test/rustdoc/issue-16265-2.rs)0
-rw-r--r--tests/rustdoc/issue-17476.rs (renamed from src/test/rustdoc/issue-17476.rs)0
-rw-r--r--tests/rustdoc/issue-18199.rs (renamed from src/test/rustdoc/issue-18199.rs)0
-rw-r--r--tests/rustdoc/issue-19181.rs (renamed from src/test/rustdoc/issue-19181.rs)0
-rw-r--r--tests/rustdoc/issue-19190-2.rs (renamed from src/test/rustdoc/issue-19190-2.rs)0
-rw-r--r--tests/rustdoc/issue-19190-3.rs (renamed from src/test/rustdoc/issue-19190-3.rs)0
-rw-r--r--tests/rustdoc/issue-19190.rs (renamed from src/test/rustdoc/issue-19190.rs)0
-rw-r--r--tests/rustdoc/issue-20175.rs (renamed from src/test/rustdoc/issue-20175.rs)0
-rw-r--r--tests/rustdoc/issue-20646.rs (renamed from src/test/rustdoc/issue-20646.rs)4
-rw-r--r--tests/rustdoc/issue-20727-2.rs22
-rw-r--r--tests/rustdoc/issue-20727-3.rs24
-rw-r--r--tests/rustdoc/issue-20727-4.rs40
-rw-r--r--tests/rustdoc/issue-20727.rs24
-rw-r--r--tests/rustdoc/issue-21092.rs (renamed from src/test/rustdoc/issue-21092.rs)0
-rw-r--r--tests/rustdoc/issue-21474.rs (renamed from src/test/rustdoc/issue-21474.rs)0
-rw-r--r--tests/rustdoc/issue-21801.rs (renamed from src/test/rustdoc/issue-21801.rs)0
-rw-r--r--tests/rustdoc/issue-22025.rs (renamed from src/test/rustdoc/issue-22025.rs)0
-rw-r--r--tests/rustdoc/issue-22038.rs19
-rw-r--r--tests/rustdoc/issue-23106.rs (renamed from src/test/rustdoc/issue-23106.rs)0
-rw-r--r--tests/rustdoc/issue-23207.rs (renamed from src/test/rustdoc/issue-23207.rs)0
-rw-r--r--tests/rustdoc/issue-23511.rs (renamed from src/test/rustdoc/issue-23511.rs)0
-rw-r--r--tests/rustdoc/issue-23744.rs (renamed from src/test/rustdoc/issue-23744.rs)0
-rw-r--r--tests/rustdoc/issue-23812.rs (renamed from src/test/rustdoc/issue-23812.rs)0
-rw-r--r--tests/rustdoc/issue-25001.rs (renamed from src/test/rustdoc/issue-25001.rs)0
-rw-r--r--tests/rustdoc/issue-25944.rs (renamed from src/test/rustdoc/issue-25944.rs)0
-rw-r--r--tests/rustdoc/issue-26606.rs (renamed from src/test/rustdoc/issue-26606.rs)0
-rw-r--r--tests/rustdoc/issue-26995.rs (renamed from src/test/rustdoc/issue-26995.rs)0
-rw-r--r--tests/rustdoc/issue-27104.rs (renamed from src/test/rustdoc/issue-27104.rs)0
-rw-r--r--tests/rustdoc/issue-27362.rs (renamed from src/test/rustdoc/issue-27362.rs)0
-rw-r--r--tests/rustdoc/issue-27759.rs (renamed from src/test/rustdoc/issue-27759.rs)0
-rw-r--r--tests/rustdoc/issue-27862.rs (renamed from src/test/rustdoc/issue-27862.rs)0
-rw-r--r--tests/rustdoc/issue-28478.rs (renamed from src/test/rustdoc/issue-28478.rs)0
-rw-r--r--tests/rustdoc/issue-28927.rs (renamed from src/test/rustdoc/issue-28927.rs)0
-rw-r--r--tests/rustdoc/issue-29449.rs (renamed from src/test/rustdoc/issue-29449.rs)0
-rw-r--r--tests/rustdoc/issue-29503.rs (renamed from src/test/rustdoc/issue-29503.rs)0
-rw-r--r--tests/rustdoc/issue-29584.rs (renamed from src/test/rustdoc/issue-29584.rs)0
-rw-r--r--tests/rustdoc/issue-30109.rs (renamed from src/test/rustdoc/issue-30109.rs)0
-rw-r--r--tests/rustdoc/issue-30252.rs (renamed from src/test/rustdoc/issue-30252.rs)0
-rw-r--r--tests/rustdoc/issue-30366.rs (renamed from src/test/rustdoc/issue-30366.rs)0
-rw-r--r--tests/rustdoc/issue-31808.rs (renamed from src/test/rustdoc/issue-31808.rs)0
-rw-r--r--tests/rustdoc/issue-31899.rs (renamed from src/test/rustdoc/issue-31899.rs)0
-rw-r--r--tests/rustdoc/issue-32374.rs (renamed from src/test/rustdoc/issue-32374.rs)0
-rw-r--r--tests/rustdoc/issue-32395.rs (renamed from src/test/rustdoc/issue-32395.rs)0
-rw-r--r--tests/rustdoc/issue-32556.rs (renamed from src/test/rustdoc/issue-32556.rs)0
-rw-r--r--tests/rustdoc/issue-32890.rs (renamed from src/test/rustdoc/issue-32890.rs)0
-rw-r--r--tests/rustdoc/issue-33069.rs (renamed from src/test/rustdoc/issue-33069.rs)0
-rw-r--r--tests/rustdoc/issue-33178-1.rs (renamed from src/test/rustdoc/issue-33178-1.rs)0
-rw-r--r--tests/rustdoc/issue-33178.rs (renamed from src/test/rustdoc/issue-33178.rs)0
-rw-r--r--tests/rustdoc/issue-33302.rs (renamed from src/test/rustdoc/issue-33302.rs)6
-rw-r--r--tests/rustdoc/issue-33592.rs (renamed from src/test/rustdoc/issue-33592.rs)0
-rw-r--r--tests/rustdoc/issue-34025.rs (renamed from src/test/rustdoc/issue-34025.rs)0
-rw-r--r--tests/rustdoc/issue-34274.rs (renamed from src/test/rustdoc/issue-34274.rs)0
-rw-r--r--tests/rustdoc/issue-34423.rs (renamed from src/test/rustdoc/issue-34423.rs)0
-rw-r--r--tests/rustdoc/issue-34473.rs (renamed from src/test/rustdoc/issue-34473.rs)0
-rw-r--r--tests/rustdoc/issue-34928.rs (renamed from src/test/rustdoc/issue-34928.rs)0
-rw-r--r--tests/rustdoc/issue-35169-2.rs (renamed from src/test/rustdoc/issue-35169-2.rs)0
-rw-r--r--tests/rustdoc/issue-35169.rs (renamed from src/test/rustdoc/issue-35169.rs)0
-rw-r--r--tests/rustdoc/issue-35488.rs (renamed from src/test/rustdoc/issue-35488.rs)0
-rw-r--r--tests/rustdoc/issue-36031.rs (renamed from src/test/rustdoc/issue-36031.rs)0
-rw-r--r--tests/rustdoc/issue-38129.rs (renamed from src/test/rustdoc/issue-38129.rs)0
-rw-r--r--tests/rustdoc/issue-38219.rs (renamed from src/test/rustdoc/issue-38219.rs)0
-rw-r--r--tests/rustdoc/issue-40936.rs (renamed from src/test/rustdoc/issue-40936.rs)0
-rw-r--r--tests/rustdoc/issue-41783.codeblock.html (renamed from src/test/rustdoc/issue-41783.codeblock.html)0
-rw-r--r--tests/rustdoc/issue-41783.rs (renamed from src/test/rustdoc/issue-41783.rs)2
-rw-r--r--tests/rustdoc/issue-42760.rs (renamed from src/test/rustdoc/issue-42760.rs)0
-rw-r--r--tests/rustdoc/issue-43153.rs (renamed from src/test/rustdoc/issue-43153.rs)0
-rw-r--r--tests/rustdoc/issue-43701.rs (renamed from src/test/rustdoc/issue-43701.rs)0
-rw-r--r--tests/rustdoc/issue-43869.rs (renamed from src/test/rustdoc/issue-43869.rs)0
-rw-r--r--tests/rustdoc/issue-43893.rs (renamed from src/test/rustdoc/issue-43893.rs)0
-rw-r--r--tests/rustdoc/issue-45584.rs (renamed from src/test/rustdoc/issue-45584.rs)0
-rw-r--r--tests/rustdoc/issue-46271.rs (renamed from src/test/rustdoc/issue-46271.rs)0
-rw-r--r--tests/rustdoc/issue-46377.rs (renamed from src/test/rustdoc/issue-46377.rs)0
-rw-r--r--tests/rustdoc/issue-46380-2.rs (renamed from src/test/rustdoc/issue-46380-2.rs)0
-rw-r--r--tests/rustdoc/issue-46727.rs (renamed from src/test/rustdoc/issue-46727.rs)0
-rw-r--r--tests/rustdoc/issue-46766.rs (renamed from src/test/rustdoc/issue-46766.rs)0
-rw-r--r--tests/rustdoc/issue-46767.rs (renamed from src/test/rustdoc/issue-46767.rs)0
-rw-r--r--tests/rustdoc/issue-46976.rs (renamed from src/test/rustdoc/issue-46976.rs)0
-rw-r--r--tests/rustdoc/issue-47038.rs (renamed from src/test/rustdoc/issue-47038.rs)0
-rw-r--r--tests/rustdoc/issue-47197-blank-line-in-doc-block.rs (renamed from src/test/rustdoc/issue-47197-blank-line-in-doc-block.rs)0
-rw-r--r--tests/rustdoc/issue-47639.rs (renamed from src/test/rustdoc/issue-47639.rs)0
-rw-r--r--tests/rustdoc/issue-48377.rs (renamed from src/test/rustdoc/issue-48377.rs)0
-rw-r--r--tests/rustdoc/issue-48414.rs (renamed from src/test/rustdoc/issue-48414.rs)0
-rw-r--r--tests/rustdoc/issue-50159.rs (renamed from src/test/rustdoc/issue-50159.rs)0
-rw-r--r--tests/rustdoc/issue-51236.rs (renamed from src/test/rustdoc/issue-51236.rs)0
-rw-r--r--tests/rustdoc/issue-52873.rs (renamed from src/test/rustdoc/issue-52873.rs)0
-rw-r--r--tests/rustdoc/issue-53689.rs (renamed from src/test/rustdoc/issue-53689.rs)0
-rw-r--r--tests/rustdoc/issue-53812.rs (renamed from src/test/rustdoc/issue-53812.rs)0
-rw-r--r--tests/rustdoc/issue-54478-demo-allocator.rs (renamed from src/test/rustdoc/issue-54478-demo-allocator.rs)0
-rw-r--r--tests/rustdoc/issue-54705.rs (renamed from src/test/rustdoc/issue-54705.rs)0
-rw-r--r--tests/rustdoc/issue-55001.rs (renamed from src/test/rustdoc/issue-55001.rs)0
-rw-r--r--tests/rustdoc/issue-55321.rs (renamed from src/test/rustdoc/issue-55321.rs)0
-rw-r--r--tests/rustdoc/issue-55364.rs (renamed from src/test/rustdoc/issue-55364.rs)0
-rw-r--r--tests/rustdoc/issue-56701.rs (renamed from src/test/rustdoc/issue-56701.rs)0
-rw-r--r--tests/rustdoc/issue-56822.rs (renamed from src/test/rustdoc/issue-56822.rs)0
-rw-r--r--tests/rustdoc/issue-57180.rs (renamed from src/test/rustdoc/issue-57180.rs)0
-rw-r--r--tests/rustdoc/issue-60482.rs (renamed from src/test/rustdoc/issue-60482.rs)0
-rw-r--r--tests/rustdoc/issue-60726.rs (renamed from src/test/rustdoc/issue-60726.rs)0
-rw-r--r--tests/rustdoc/issue-61592.rs (renamed from src/test/rustdoc/issue-61592.rs)0
-rw-r--r--tests/rustdoc/issue-67851-both.rs (renamed from src/test/rustdoc/issue-67851-both.rs)0
-rw-r--r--tests/rustdoc/issue-67851-hidden.rs (renamed from src/test/rustdoc/issue-67851-hidden.rs)0
-rw-r--r--tests/rustdoc/issue-67851-neither.rs (renamed from src/test/rustdoc/issue-67851-neither.rs)0
-rw-r--r--tests/rustdoc/issue-67851-private.rs (renamed from src/test/rustdoc/issue-67851-private.rs)0
-rw-r--r--tests/rustdoc/issue-72340.rs (renamed from src/test/rustdoc/issue-72340.rs)0
-rw-r--r--tests/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs (renamed from src/test/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs)0
-rw-r--r--tests/rustdoc/issue-74083.rs (renamed from src/test/rustdoc/issue-74083.rs)0
-rw-r--r--tests/rustdoc/issue-75588.rs (renamed from src/test/rustdoc/issue-75588.rs)0
-rw-r--r--tests/rustdoc/issue-76501.rs (renamed from src/test/rustdoc/issue-76501.rs)0
-rw-r--r--tests/rustdoc/issue-78673.rs (renamed from src/test/rustdoc/issue-78673.rs)0
-rw-r--r--tests/rustdoc/issue-78701.rs (renamed from src/test/rustdoc/issue-78701.rs)0
-rw-r--r--tests/rustdoc/issue-79201.rs (renamed from src/test/rustdoc/issue-79201.rs)0
-rw-r--r--tests/rustdoc/issue-80233-normalize-auto-trait.rs (renamed from src/test/rustdoc/issue-80233-normalize-auto-trait.rs)0
-rw-r--r--tests/rustdoc/issue-82465-asref-for-and-of-local.rs (renamed from src/test/rustdoc/issue-82465-asref-for-and-of-local.rs)0
-rw-r--r--tests/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline-last-item.rs (renamed from src/test/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline-last-item.rs)0
-rw-r--r--tests/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline.rs (renamed from src/test/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline.rs)0
-rw-r--r--tests/rustdoc/issue-85454.rs29
-rw-r--r--tests/rustdoc/issue-86620.rs (renamed from src/test/rustdoc/issue-86620.rs)0
-rw-r--r--tests/rustdoc/issue-88600.rs (renamed from src/test/rustdoc/issue-88600.rs)0
-rw-r--r--tests/rustdoc/issue-89309-heading-levels.rs (renamed from src/test/rustdoc/issue-89309-heading-levels.rs)0
-rw-r--r--tests/rustdoc/issue-89852.rs (renamed from src/test/rustdoc/issue-89852.rs)0
-rw-r--r--tests/rustdoc/issue-95633.rs (renamed from src/test/rustdoc/issue-95633.rs)0
-rw-r--r--tests/rustdoc/issue-95873.rs (renamed from src/test/rustdoc/issue-95873.rs)0
-rw-r--r--tests/rustdoc/issue-96381.rs (renamed from src/test/rustdoc/issue-96381.rs)0
-rw-r--r--tests/rustdoc/issue-98697.rs (renamed from src/test/rustdoc/issue-98697.rs)4
-rw-r--r--tests/rustdoc/issue-99221-multiple-macro-rules-w-same-name-submodule.rs (renamed from src/test/rustdoc/issue-99221-multiple-macro-rules-w-same-name-submodule.rs)0
-rw-r--r--tests/rustdoc/issue-99221-multiple-macro-rules-w-same-name.rs (renamed from src/test/rustdoc/issue-99221-multiple-macro-rules-w-same-name.rs)0
-rw-r--r--tests/rustdoc/issue-99221-multiple-structs-w-same-name.rs (renamed from src/test/rustdoc/issue-99221-multiple-structs-w-same-name.rs)0
-rw-r--r--tests/rustdoc/issue-99734-multiple-foreigns-w-same-name.rs (renamed from src/test/rustdoc/issue-99734-multiple-foreigns-w-same-name.rs)0
-rw-r--r--tests/rustdoc/issue-99734-multiple-mods-w-same-name.rs (renamed from src/test/rustdoc/issue-99734-multiple-mods-w-same-name.rs)0
-rw-r--r--tests/rustdoc/keyword.rs (renamed from src/test/rustdoc/keyword.rs)2
-rw-r--r--tests/rustdoc/legacy-const-generic.rs16
-rw-r--r--tests/rustdoc/lifetime-name.rs5
-rw-r--r--tests/rustdoc/line-breaks.rs (renamed from src/test/rustdoc/line-breaks.rs)0
-rw-r--r--tests/rustdoc/link-assoc-const.rs (renamed from src/test/rustdoc/link-assoc-const.rs)0
-rw-r--r--tests/rustdoc/link-title-escape.rs (renamed from src/test/rustdoc/link-title-escape.rs)0
-rw-r--r--tests/rustdoc/local-reexport-doc.rs (renamed from src/test/rustdoc/local-reexport-doc.rs)2
-rw-r--r--tests/rustdoc/logo-class-default.rs (renamed from src/test/rustdoc/logo-class-default.rs)0
-rw-r--r--tests/rustdoc/logo-class.rs (renamed from src/test/rustdoc/logo-class.rs)0
-rw-r--r--tests/rustdoc/macro-document-private-duplicate.rs (renamed from src/test/rustdoc/macro-document-private-duplicate.rs)0
-rw-r--r--tests/rustdoc/macro-document-private.rs (renamed from src/test/rustdoc/macro-document-private.rs)0
-rw-r--r--tests/rustdoc/macro-generated-macro.macro_linebreak_pre.html (renamed from src/test/rustdoc/macro-generated-macro.macro_linebreak_pre.html)0
-rw-r--r--tests/rustdoc/macro-generated-macro.macro_morestuff_pre.html (renamed from src/test/rustdoc/macro-generated-macro.macro_morestuff_pre.html)0
-rw-r--r--tests/rustdoc/macro-generated-macro.rs (renamed from src/test/rustdoc/macro-generated-macro.rs)0
-rw-r--r--tests/rustdoc/macro-higher-kinded-function.rs (renamed from src/test/rustdoc/macro-higher-kinded-function.rs)0
-rw-r--r--tests/rustdoc/macro-in-async-block.rs (renamed from src/test/rustdoc/macro-in-async-block.rs)0
-rw-r--r--tests/rustdoc/macro-in-closure.rs (renamed from src/test/rustdoc/macro-in-closure.rs)0
-rw-r--r--tests/rustdoc/macro-indirect-use.rs (renamed from src/test/rustdoc/macro-indirect-use.rs)0
-rw-r--r--tests/rustdoc/macro-private-not-documented.rs (renamed from src/test/rustdoc/macro-private-not-documented.rs)0
-rw-r--r--tests/rustdoc/macro_pub_in_module.rs (renamed from src/test/rustdoc/macro_pub_in_module.rs)0
-rw-r--r--tests/rustdoc/macro_rules-matchers.rs (renamed from src/test/rustdoc/macro_rules-matchers.rs)0
-rw-r--r--tests/rustdoc/macros.rs (renamed from src/test/rustdoc/macros.rs)0
-rw-r--r--tests/rustdoc/manual_impl.rs (renamed from src/test/rustdoc/manual_impl.rs)0
-rw-r--r--tests/rustdoc/markdown-summaries.rs (renamed from src/test/rustdoc/markdown-summaries.rs)0
-rw-r--r--tests/rustdoc/masked.rs (renamed from src/test/rustdoc/masked.rs)0
-rw-r--r--tests/rustdoc/method-list.rs (renamed from src/test/rustdoc/method-list.rs)0
-rw-r--r--tests/rustdoc/mixing-doc-comments-and-attrs.S1_top-doc.html (renamed from src/test/rustdoc/mixing-doc-comments-and-attrs.S1_top-doc.html)0
-rw-r--r--tests/rustdoc/mixing-doc-comments-and-attrs.S2_top-doc.html (renamed from src/test/rustdoc/mixing-doc-comments-and-attrs.S2_top-doc.html)0
-rw-r--r--tests/rustdoc/mixing-doc-comments-and-attrs.S3_top-doc.html (renamed from src/test/rustdoc/mixing-doc-comments-and-attrs.S3_top-doc.html)0
-rw-r--r--tests/rustdoc/mixing-doc-comments-and-attrs.rs25
-rw-r--r--tests/rustdoc/mod-stackoverflow.rs (renamed from src/test/rustdoc/mod-stackoverflow.rs)0
-rw-r--r--tests/rustdoc/module-impls.rs (renamed from src/test/rustdoc/module-impls.rs)0
-rw-r--r--tests/rustdoc/multiple-import-levels.rs34
-rw-r--r--tests/rustdoc/must_implement_one_of.rs (renamed from src/test/rustdoc/must_implement_one_of.rs)0
-rw-r--r--tests/rustdoc/mut-params.rs (renamed from src/test/rustdoc/mut-params.rs)4
-rw-r--r--tests/rustdoc/namespaces.rs (renamed from src/test/rustdoc/namespaces.rs)0
-rw-r--r--tests/rustdoc/negative-impl-sidebar.rs (renamed from src/test/rustdoc/negative-impl-sidebar.rs)0
-rw-r--r--tests/rustdoc/negative-impl.rs (renamed from src/test/rustdoc/negative-impl.rs)0
-rw-r--r--tests/rustdoc/nested-modules.rs (renamed from src/test/rustdoc/nested-modules.rs)0
-rw-r--r--tests/rustdoc/no-compiler-reexport.rs (renamed from src/test/rustdoc/no-compiler-reexport.rs)0
-rw-r--r--tests/rustdoc/no-crate-filter.rs (renamed from src/test/rustdoc/no-crate-filter.rs)0
-rw-r--r--tests/rustdoc/no-run-still-checks-lints.rs (renamed from src/test/rustdoc/no-run-still-checks-lints.rs)0
-rw-r--r--tests/rustdoc/no-stack-overflow-25295.rs (renamed from src/test/rustdoc/no-stack-overflow-25295.rs)0
-rw-r--r--tests/rustdoc/no-unit-struct-field.rs (renamed from src/test/rustdoc/no-unit-struct-field.rs)0
-rw-r--r--tests/rustdoc/no_std-primitive.rs (renamed from src/test/rustdoc/no_std-primitive.rs)0
-rw-r--r--tests/rustdoc/normalize-assoc-item.rs82
-rw-r--r--tests/rustdoc/not-wf-ambiguous-normalization.rs (renamed from src/test/rustdoc/not-wf-ambiguous-normalization.rs)0
-rw-r--r--tests/rustdoc/nul-error.rs (renamed from src/test/rustdoc/nul-error.rs)0
-rw-r--r--tests/rustdoc/playground-arg.rs (renamed from src/test/rustdoc/playground-arg.rs)0
-rw-r--r--tests/rustdoc/playground-empty.rs (renamed from src/test/rustdoc/playground-empty.rs)0
-rw-r--r--tests/rustdoc/playground-none.rs (renamed from src/test/rustdoc/playground-none.rs)0
-rw-r--r--tests/rustdoc/playground-syntax-error.rs (renamed from src/test/rustdoc/playground-syntax-error.rs)0
-rw-r--r--tests/rustdoc/playground.rs (renamed from src/test/rustdoc/playground.rs)0
-rw-r--r--tests/rustdoc/primitive-link.rs (renamed from src/test/rustdoc/primitive-link.rs)0
-rw-r--r--tests/rustdoc/primitive-reexport.rs (renamed from src/test/rustdoc/primitive-reexport.rs)0
-rw-r--r--tests/rustdoc/primitive-reference.rs (renamed from src/test/rustdoc/primitive-reference.rs)2
-rw-r--r--tests/rustdoc/primitive-slice-auto-trait.rs (renamed from src/test/rustdoc/primitive-slice-auto-trait.rs)2
-rw-r--r--tests/rustdoc/primitive-tuple-auto-trait.rs (renamed from src/test/rustdoc/primitive-tuple-auto-trait.rs)2
-rw-r--r--tests/rustdoc/primitive-tuple-variadic.rs (renamed from src/test/rustdoc/primitive-tuple-variadic.rs)0
-rw-r--r--tests/rustdoc/primitive-unit-auto-trait.rs (renamed from src/test/rustdoc/primitive-unit-auto-trait.rs)2
-rw-r--r--tests/rustdoc/primitive.rs (renamed from src/test/rustdoc/primitive.rs)2
-rw-r--r--tests/rustdoc/primitive/no_std.rs (renamed from src/test/rustdoc/primitive/no_std.rs)0
-rw-r--r--tests/rustdoc/primitive/primitive-generic-impl.rs (renamed from src/test/rustdoc/primitive/primitive-generic-impl.rs)0
-rw-r--r--tests/rustdoc/private-type-alias.rs (renamed from src/test/rustdoc/private-type-alias.rs)0
-rw-r--r--tests/rustdoc/proc-macro.rs (renamed from src/test/rustdoc/proc-macro.rs)0
-rw-r--r--tests/rustdoc/process-termination.rs (renamed from src/test/rustdoc/process-termination.rs)0
-rw-r--r--tests/rustdoc/pub-extern-crate.rs (renamed from src/test/rustdoc/pub-extern-crate.rs)0
-rw-r--r--tests/rustdoc/pub-method.rs (renamed from src/test/rustdoc/pub-method.rs)2
-rw-r--r--tests/rustdoc/pub-use-extern-macros.rs (renamed from src/test/rustdoc/pub-use-extern-macros.rs)0
-rw-r--r--tests/rustdoc/range-arg-pattern.rs5
-rw-r--r--tests/rustdoc/raw-ident-eliminate-r-hashtag.rs (renamed from src/test/rustdoc/raw-ident-eliminate-r-hashtag.rs)0
-rw-r--r--tests/rustdoc/read-more-unneeded.rs34
-rw-r--r--tests/rustdoc/recursion1.rs (renamed from src/test/rustdoc/recursion1.rs)0
-rw-r--r--tests/rustdoc/recursion2.rs (renamed from src/test/rustdoc/recursion2.rs)0
-rw-r--r--tests/rustdoc/recursion3.rs (renamed from src/test/rustdoc/recursion3.rs)0
-rw-r--r--tests/rustdoc/recursive-deref-sidebar.rs (renamed from src/test/rustdoc/recursive-deref-sidebar.rs)0
-rw-r--r--tests/rustdoc/recursive-deref.rs (renamed from src/test/rustdoc/recursive-deref.rs)0
-rw-r--r--tests/rustdoc/redirect-const.rs (renamed from src/test/rustdoc/redirect-const.rs)0
-rw-r--r--tests/rustdoc/redirect-map-empty.rs (renamed from src/test/rustdoc/redirect-map-empty.rs)0
-rw-r--r--tests/rustdoc/redirect-map.rs (renamed from src/test/rustdoc/redirect-map.rs)0
-rw-r--r--tests/rustdoc/redirect-rename.rs (renamed from src/test/rustdoc/redirect-rename.rs)0
-rw-r--r--tests/rustdoc/redirect.rs (renamed from src/test/rustdoc/redirect.rs)0
-rw-r--r--tests/rustdoc/reexport-check.rs (renamed from src/test/rustdoc/reexport-check.rs)0
-rw-r--r--tests/rustdoc/reexport-dep-foreign-fn.rs (renamed from src/test/rustdoc/reexport-dep-foreign-fn.rs)0
-rw-r--r--tests/rustdoc/reexport-doc-hidden.rs26
-rw-r--r--tests/rustdoc/reexport-doc.rs (renamed from src/test/rustdoc/reexport-doc.rs)0
-rw-r--r--tests/rustdoc/reexport-stability-tags-deprecated-and-portability.rs (renamed from src/test/rustdoc/reexport-stability-tags-deprecated-and-portability.rs)0
-rw-r--r--tests/rustdoc/reexport-stability-tags-unstable-and-portability.rs (renamed from src/test/rustdoc/reexport-stability-tags-unstable-and-portability.rs)0
-rw-r--r--tests/rustdoc/reexports-priv.rs (renamed from src/test/rustdoc/reexports-priv.rs)16
-rw-r--r--tests/rustdoc/reexports.rs (renamed from src/test/rustdoc/reexports.rs)8
-rw-r--r--tests/rustdoc/remove-duplicates.rs (renamed from src/test/rustdoc/remove-duplicates.rs)0
-rw-r--r--tests/rustdoc/remove-url-from-headings.rs (renamed from src/test/rustdoc/remove-url-from-headings.rs)0
-rw-r--r--tests/rustdoc/return-impl-trait.rs (renamed from src/test/rustdoc/return-impl-trait.rs)0
-rw-r--r--tests/rustdoc/rfc-2632-const-trait-impl.rs (renamed from src/test/rustdoc/rfc-2632-const-trait-impl.rs)16
-rw-r--r--tests/rustdoc/rustc-incoherent-impls.rs (renamed from src/test/rustdoc/rustc-incoherent-impls.rs)0
-rw-r--r--tests/rustdoc/rustc-macro-crate.rs (renamed from src/test/rustdoc/rustc-macro-crate.rs)0
-rw-r--r--tests/rustdoc/safe-intrinsic.rs22
-rw-r--r--tests/rustdoc/same-crate-hidden-impl-parameter.rs (renamed from src/test/rustdoc/same-crate-hidden-impl-parameter.rs)0
-rw-r--r--tests/rustdoc/sanitizer-option.rs (renamed from src/test/rustdoc/sanitizer-option.rs)0
-rw-r--r--tests/rustdoc/search-index-summaries.rs (renamed from src/test/rustdoc/search-index-summaries.rs)0
-rw-r--r--tests/rustdoc/search-index.rs (renamed from src/test/rustdoc/search-index.rs)0
-rw-r--r--tests/rustdoc/short-docblock-codeblock.rs (renamed from src/test/rustdoc/short-docblock-codeblock.rs)0
-rw-r--r--tests/rustdoc/short-docblock.rs (renamed from src/test/rustdoc/short-docblock.rs)0
-rw-r--r--tests/rustdoc/short-line.md (renamed from src/test/rustdoc/short-line.md)0
-rw-r--r--tests/rustdoc/show-const-contents.rs (renamed from src/test/rustdoc/show-const-contents.rs)0
-rw-r--r--tests/rustdoc/sidebar-all-page.rs (renamed from src/test/rustdoc/sidebar-all-page.rs)0
-rw-r--r--tests/rustdoc/sidebar-items.rs (renamed from src/test/rustdoc/sidebar-items.rs)0
-rw-r--r--tests/rustdoc/sidebar-link-generation.rs (renamed from src/test/rustdoc/sidebar-link-generation.rs)0
-rw-r--r--tests/rustdoc/sidebar-links-to-foreign-impl.rs (renamed from src/test/rustdoc/sidebar-links-to-foreign-impl.rs)0
-rw-r--r--tests/rustdoc/sized_trait.rs (renamed from src/test/rustdoc/sized_trait.rs)0
-rw-r--r--tests/rustdoc/slice-links.link_box_generic.html (renamed from src/test/rustdoc/slice-links.link_box_generic.html)0
-rw-r--r--tests/rustdoc/slice-links.link_box_u32.html (renamed from src/test/rustdoc/slice-links.link_box_u32.html)0
-rw-r--r--tests/rustdoc/slice-links.link_slice_generic.html (renamed from src/test/rustdoc/slice-links.link_slice_generic.html)0
-rw-r--r--tests/rustdoc/slice-links.link_slice_u32.html (renamed from src/test/rustdoc/slice-links.link_slice_u32.html)0
-rw-r--r--tests/rustdoc/slice-links.rs28
-rw-r--r--tests/rustdoc/smart-punct.rs (renamed from src/test/rustdoc/smart-punct.rs)0
-rw-r--r--tests/rustdoc/smoke.rs (renamed from src/test/rustdoc/smoke.rs)0
-rw-r--r--tests/rustdoc/sort-modules-by-appearance.rs (renamed from src/test/rustdoc/sort-modules-by-appearance.rs)0
-rw-r--r--tests/rustdoc/source-file.rs (renamed from src/test/rustdoc/source-file.rs)0
-rw-r--r--tests/rustdoc/source-version-separator.rs (renamed from src/test/rustdoc/source-version-separator.rs)0
-rw-r--r--tests/rustdoc/spotlight-from-dependency.odd.html1
-rw-r--r--tests/rustdoc/spotlight-from-dependency.rs (renamed from src/test/rustdoc/spotlight-from-dependency.rs)0
-rw-r--r--tests/rustdoc/src-links-auto-impls.rs (renamed from src/test/rustdoc/src-links-auto-impls.rs)0
-rw-r--r--tests/rustdoc/src-links-external.rs (renamed from src/test/rustdoc/src-links-external.rs)0
-rw-r--r--tests/rustdoc/src-links.rs (renamed from src/test/rustdoc/src-links.rs)5
-rw-r--r--tests/rustdoc/src-links/compiletest-ignore-dir (renamed from src/test/rustdoc/src-links/compiletest-ignore-dir)0
-rw-r--r--tests/rustdoc/src-links/fizz.rs1
-rw-r--r--tests/rustdoc/src-links/mod.rs (renamed from src/test/rustdoc/src-links/mod.rs)0
-rw-r--r--tests/rustdoc/stability.rs (renamed from src/test/rustdoc/stability.rs)0
-rw-r--r--tests/rustdoc/static-root-path.rs (renamed from src/test/rustdoc/static-root-path.rs)0
-rw-r--r--tests/rustdoc/static.rs (renamed from src/test/rustdoc/static.rs)0
-rw-r--r--tests/rustdoc/strip-block-doc-comments-stars.docblock.html (renamed from src/test/rustdoc/strip-block-doc-comments-stars.docblock.html)0
-rw-r--r--tests/rustdoc/strip-block-doc-comments-stars.rs11
-rw-r--r--tests/rustdoc/strip-enum-variant.no-not-shown.html (renamed from src/test/rustdoc/strip-enum-variant.no-not-shown.html)0
-rw-r--r--tests/rustdoc/strip-enum-variant.rs (renamed from src/test/rustdoc/strip-enum-variant.rs)0
-rw-r--r--tests/rustdoc/struct-arg-pattern.rs10
-rw-r--r--tests/rustdoc/struct-field.rs (renamed from src/test/rustdoc/struct-field.rs)0
-rw-r--r--tests/rustdoc/struct-implementations-title.rs (renamed from src/test/rustdoc/struct-implementations-title.rs)0
-rw-r--r--tests/rustdoc/structfields.rs (renamed from src/test/rustdoc/structfields.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/basic.rs (renamed from src/test/rustdoc/synthetic_auto/basic.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/complex.rs (renamed from src/test/rustdoc/synthetic_auto/complex.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/crate-local.rs (renamed from src/test/rustdoc/synthetic_auto/crate-local.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/issue-72213-projection-lifetime.rs (renamed from src/test/rustdoc/synthetic_auto/issue-72213-projection-lifetime.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/lifetimes.rs (renamed from src/test/rustdoc/synthetic_auto/lifetimes.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/manual.rs (renamed from src/test/rustdoc/synthetic_auto/manual.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/negative.rs (renamed from src/test/rustdoc/synthetic_auto/negative.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/nested.rs (renamed from src/test/rustdoc/synthetic_auto/nested.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/no-redundancy.rs (renamed from src/test/rustdoc/synthetic_auto/no-redundancy.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/overflow.rs (renamed from src/test/rustdoc/synthetic_auto/overflow.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/project.rs (renamed from src/test/rustdoc/synthetic_auto/project.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/self-referential.rs (renamed from src/test/rustdoc/synthetic_auto/self-referential.rs)0
-rw-r--r--tests/rustdoc/synthetic_auto/static-region.rs (renamed from src/test/rustdoc/synthetic_auto/static-region.rs)0
-rw-r--r--tests/rustdoc/tab_title.rs (renamed from src/test/rustdoc/tab_title.rs)0
-rw-r--r--tests/rustdoc/table-in-docblock.rs (renamed from src/test/rustdoc/table-in-docblock.rs)0
-rw-r--r--tests/rustdoc/task-lists.rs (renamed from src/test/rustdoc/task-lists.rs)0
-rw-r--r--tests/rustdoc/test-lists.rs (renamed from src/test/rustdoc/test-lists.rs)0
-rw-r--r--tests/rustdoc/test-parens.rs5
-rw-r--r--tests/rustdoc/test-strikethrough.rs (renamed from src/test/rustdoc/test-strikethrough.rs)0
-rw-r--r--tests/rustdoc/test_option_check/bar.rs (renamed from src/test/rustdoc/test_option_check/bar.rs)0
-rw-r--r--tests/rustdoc/test_option_check/test.rs (renamed from src/test/rustdoc/test_option_check/test.rs)0
-rw-r--r--tests/rustdoc/thread-local-src.rs (renamed from src/test/rustdoc/thread-local-src.rs)0
-rw-r--r--tests/rustdoc/titles.rs (renamed from src/test/rustdoc/titles.rs)0
-rw-r--r--tests/rustdoc/toggle-item-contents.rs185
-rw-r--r--tests/rustdoc/toggle-method.rs18
-rw-r--r--tests/rustdoc/toggle-trait-fn.rs30
-rw-r--r--tests/rustdoc/trait-alias-mention.rs (renamed from src/test/rustdoc/trait-alias-mention.rs)0
-rw-r--r--tests/rustdoc/trait-impl-items-links-and-anchors.rs (renamed from src/test/rustdoc/trait-impl-items-links-and-anchors.rs)0
-rw-r--r--tests/rustdoc/trait-impl.rs (renamed from src/test/rustdoc/trait-impl.rs)2
-rw-r--r--tests/rustdoc/trait-self-link.rs (renamed from src/test/rustdoc/trait-self-link.rs)0
-rw-r--r--tests/rustdoc/trait-src-link.rs (renamed from src/test/rustdoc/trait-src-link.rs)0
-rw-r--r--tests/rustdoc/trait-visibility.rs (renamed from src/test/rustdoc/trait-visibility.rs)0
-rw-r--r--tests/rustdoc/trait_alias.rs (renamed from src/test/rustdoc/trait_alias.rs)0
-rw-r--r--tests/rustdoc/traits-in-bodies-private.rs (renamed from src/test/rustdoc/traits-in-bodies-private.rs)0
-rw-r--r--tests/rustdoc/traits-in-bodies.rs (renamed from src/test/rustdoc/traits-in-bodies.rs)0
-rw-r--r--tests/rustdoc/tuple-struct-fields-doc.rs (renamed from src/test/rustdoc/tuple-struct-fields-doc.rs)2
-rw-r--r--tests/rustdoc/tuples.link1_i32.html (renamed from src/test/rustdoc/tuples.link1_i32.html)0
-rw-r--r--tests/rustdoc/tuples.link1_t.html (renamed from src/test/rustdoc/tuples.link1_t.html)0
-rw-r--r--tests/rustdoc/tuples.link2_i32.html (renamed from src/test/rustdoc/tuples.link2_i32.html)0
-rw-r--r--tests/rustdoc/tuples.link2_t.html (renamed from src/test/rustdoc/tuples.link2_t.html)0
-rw-r--r--tests/rustdoc/tuples.link2_tu.html (renamed from src/test/rustdoc/tuples.link2_tu.html)0
-rw-r--r--tests/rustdoc/tuples.link_unit.html (renamed from src/test/rustdoc/tuples.link_unit.html)0
-rw-r--r--tests/rustdoc/tuples.rs20
-rw-r--r--tests/rustdoc/type-layout-flag-required.rs (renamed from src/test/rustdoc/type-layout-flag-required.rs)0
-rw-r--r--tests/rustdoc/type-layout.rs (renamed from src/test/rustdoc/type-layout.rs)0
-rw-r--r--tests/rustdoc/typedef.rs (renamed from src/test/rustdoc/typedef.rs)0
-rw-r--r--tests/rustdoc/unindent.md (renamed from src/test/rustdoc/unindent.md)0
-rw-r--r--tests/rustdoc/unindent.rs (renamed from src/test/rustdoc/unindent.rs)0
-rw-r--r--tests/rustdoc/union.rs (renamed from src/test/rustdoc/union.rs)0
-rw-r--r--tests/rustdoc/unit-return.rs17
-rw-r--r--tests/rustdoc/universal-impl-trait.rs (renamed from src/test/rustdoc/universal-impl-trait.rs)0
-rw-r--r--tests/rustdoc/unneeded-trait-implementations-title.rs (renamed from src/test/rustdoc/unneeded-trait-implementations-title.rs)0
-rw-r--r--tests/rustdoc/use-attr.rs (renamed from src/test/rustdoc/use-attr.rs)0
-rw-r--r--tests/rustdoc/useless_lifetime_bound.rs (renamed from src/test/rustdoc/useless_lifetime_bound.rs)0
-rw-r--r--tests/rustdoc/variadic.rs (renamed from src/test/rustdoc/variadic.rs)0
-rw-r--r--tests/rustdoc/version-separator-without-source.rs (renamed from src/test/rustdoc/version-separator-without-source.rs)0
-rw-r--r--tests/rustdoc/viewpath-rename.rs (renamed from src/test/rustdoc/viewpath-rename.rs)0
-rw-r--r--tests/rustdoc/viewpath-self.rs (renamed from src/test/rustdoc/viewpath-self.rs)0
-rw-r--r--tests/rustdoc/visibility.rs (renamed from src/test/rustdoc/visibility.rs)0
-rw-r--r--tests/rustdoc/where-clause-order.rs (renamed from src/test/rustdoc/where-clause-order.rs)0
-rw-r--r--tests/rustdoc/where-sized.rs6
-rw-r--r--tests/rustdoc/where.SWhere_Simd_item-decl.html1
-rw-r--r--tests/rustdoc/where.SWhere_TraitWhere_item-decl.html (renamed from src/test/rustdoc/where.SWhere_TraitWhere_item-decl.html)2
-rw-r--r--tests/rustdoc/where.rs (renamed from src/test/rustdoc/where.rs)2
-rw-r--r--tests/rustdoc/whitespace-after-where-clause.enum.html4
-rw-r--r--tests/rustdoc/whitespace-after-where-clause.enum2.html4
-rw-r--r--tests/rustdoc/whitespace-after-where-clause.rs (renamed from src/test/rustdoc/whitespace-after-where-clause.rs)0
-rw-r--r--tests/rustdoc/whitespace-after-where-clause.struct.html4
-rw-r--r--tests/rustdoc/whitespace-after-where-clause.struct2.html4
-rw-r--r--tests/rustdoc/whitespace-after-where-clause.trait.html6
-rw-r--r--tests/rustdoc/whitespace-after-where-clause.trait2.html6
-rw-r--r--tests/rustdoc/whitespace-after-where-clause.union.html3
-rw-r--r--tests/rustdoc/whitespace-after-where-clause.union2.html3
-rw-r--r--tests/rustdoc/without-redirect.rs (renamed from src/test/rustdoc/without-redirect.rs)0
-rw-r--r--tests/rustdoc/wrapping.rs5
1471 files changed, 5436 insertions, 366 deletions
diff --git a/tests/rustdoc-gui/README.md b/tests/rustdoc-gui/README.md
new file mode 100644
index 000000000..1126a72ab
--- /dev/null
+++ b/tests/rustdoc-gui/README.md
@@ -0,0 +1,34 @@
+The tests present here are used to test the generated HTML from rustdoc. The
+goal is to prevent unsound/unexpected GUI changes.
+
+This is using the [browser-ui-test] framework to do so. It works as follows:
+
+It wraps [puppeteer] to send commands to a web browser in order to navigate and
+test what's being currently displayed in the web page.
+
+You can find more information and its documentation in its [repository][browser-ui-test].
+
+If you need to have more information on the tests run, you can use `--test-args`:
+
+```bash
+$ ./x.py test tests/rustdoc-gui --stage 1 --test-args --debug
+```
+
+If you don't want to run in headless mode (helpful to debug sometimes), you can use
+`--no-headless`:
+
+```bash
+$ ./x.py test tests/rustdoc-gui --stage 1 --test-args --no-headless
+```
+
+To see the supported options, use `--help`.
+
+Important to be noted: if the chromium instance crashes when you run it, you might need to
+use `--no-sandbox` to make it work:
+
+```bash
+$ ./x.py test tests/rustdoc-gui --stage 1 --test-args --no-sandbox
+```
+
+[browser-ui-test]: https://github.com/GuillaumeGomez/browser-UI-test/
+[puppeteer]: https://pptr.dev/
diff --git a/src/test/rustdoc-gui/anchor-navigable.goml b/tests/rustdoc-gui/anchor-navigable.goml
index 9d5c55a1e..9d5c55a1e 100644
--- a/src/test/rustdoc-gui/anchor-navigable.goml
+++ b/tests/rustdoc-gui/anchor-navigable.goml
diff --git a/tests/rustdoc-gui/anchors.goml b/tests/rustdoc-gui/anchors.goml
new file mode 100644
index 000000000..85cb72274
--- /dev/null
+++ b/tests/rustdoc-gui/anchors.goml
@@ -0,0 +1,109 @@
+// This test is to ensure that the anchors (`§`) have the expected color and position.
+
+define-function: (
+ "check-colors",
+ (theme, main_color, title_color, main_heading_color, main_heading_type_color, src_link_color, sidebar_link_color),
+ block {
+ goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
+ // This is needed to ensure that the text color is computed.
+ show-text: true
+
+ // Setting the theme.
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ // We reload the page so the local storage settings are being used.
+ reload:
+
+ assert-css: ("#toggle-all-docs", {"color": |main_color|})
+ assert-css: (".main-heading h1 a:nth-of-type(1)", {"color": |main_heading_color|})
+ assert-css: (".main-heading a:nth-of-type(2)", {"color": |main_heading_type_color|})
+ assert-css: (
+ ".rightside .srclink",
+ {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
+ ALL,
+ )
+ compare-elements-css: (
+ ".rightside .srclink",
+ ".rightside.srclink",
+ ["color", "text-decoration"],
+ )
+ compare-elements-css: (
+ ".main-heading .srclink",
+ ".rightside.srclink",
+ ["color", "text-decoration"],
+ )
+
+ move-cursor-to: ".main-heading .srclink"
+ assert-css: (
+ ".main-heading .srclink",
+ {"color": |src_link_color|, "text-decoration": "underline solid " + |src_link_color|},
+ )
+ move-cursor-to: ".impl-items .rightside .srclink"
+ assert-css: (
+ ".impl-items .rightside .srclink",
+ {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
+ )
+ move-cursor-to: ".impl-items .rightside.srclink"
+ assert-css: (
+ ".impl-items .rightside.srclink",
+ {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
+ )
+
+ goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
+ // Since we changed page, we need to set the theme again.
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ // We reload the page so the local storage settings are being used.
+ reload:
+
+ assert-css: ("#top-doc-prose-title", {"color": |title_color|})
+
+ assert-css: (".sidebar a", {"color": |sidebar_link_color|})
+ assert-css: (".main-heading h1 a", {"color": |title_color|})
+
+ // We move the cursor over the "Implementations" title so the anchor is displayed.
+ move-cursor-to: "h2#implementations"
+ assert-css: ("h2#implementations a.anchor", {"color": |main_color|})
+
+ // Same thing with the impl block title.
+ move-cursor-to: "#impl-HeavilyDocumentedStruct"
+ assert-css: ("#impl-HeavilyDocumentedStruct a.anchor", {"color": |main_color|})
+
+ assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"})
+ },
+)
+
+call-function: (
+ "check-colors",
+ {
+ "theme": "ayu",
+ "main_color": "rgb(197, 197, 197)",
+ "title_color": "rgb(255, 255, 255)",
+ "main_heading_color": "rgb(255, 255, 255)",
+ "main_heading_type_color": "rgb(255, 160, 165)",
+ "src_link_color": "rgb(57, 175, 215)",
+ "sidebar_link_color": "rgb(83, 177, 219)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "dark",
+ "main_color": "rgb(221, 221, 221)",
+ "title_color": "rgb(221, 221, 221)",
+ "main_heading_color": "rgb(221, 221, 221)",
+ "main_heading_type_color": "rgb(45, 191, 184)",
+ "src_link_color": "rgb(210, 153, 29)",
+ "sidebar_link_color": "rgb(253, 191, 53)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "light",
+ "main_color": "rgb(0, 0, 0)",
+ "title_color": "rgb(0, 0, 0)",
+ "main_heading_color": "rgb(0, 0, 0)",
+ "main_heading_type_color": "rgb(173, 55, 138)",
+ "src_link_color": "rgb(56, 115, 173)",
+ "sidebar_link_color": "rgb(53, 109, 164)",
+ },
+)
diff --git a/src/test/rustdoc-gui/auto-hide-trait-implementations.goml b/tests/rustdoc-gui/auto-hide-trait-implementations.goml
index 0a619c352..0a619c352 100644
--- a/src/test/rustdoc-gui/auto-hide-trait-implementations.goml
+++ b/tests/rustdoc-gui/auto-hide-trait-implementations.goml
diff --git a/tests/rustdoc-gui/basic-code.goml b/tests/rustdoc-gui/basic-code.goml
new file mode 100644
index 000000000..971c2f948
--- /dev/null
+++ b/tests/rustdoc-gui/basic-code.goml
@@ -0,0 +1,6 @@
+// Small test to ensure the "src-line-numbers" element is only present once on
+// the page.
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+click: ".srclink"
+wait-for: ".src-line-numbers"
+assert-count: (".src-line-numbers", 1)
diff --git a/src/test/rustdoc-gui/check-code-blocks-margin.goml b/tests/rustdoc-gui/check-code-blocks-margin.goml
index c2cec0020..c2cec0020 100644
--- a/src/test/rustdoc-gui/check-code-blocks-margin.goml
+++ b/tests/rustdoc-gui/check-code-blocks-margin.goml
diff --git a/src/test/rustdoc-gui/check-stab-in-docblock.goml b/tests/rustdoc-gui/check-stab-in-docblock.goml
index 266fa9997..266fa9997 100644
--- a/src/test/rustdoc-gui/check-stab-in-docblock.goml
+++ b/tests/rustdoc-gui/check-stab-in-docblock.goml
diff --git a/src/test/rustdoc-gui/check_info_sign_position.goml b/tests/rustdoc-gui/check_info_sign_position.goml
index f36e73fc5..f36e73fc5 100644
--- a/src/test/rustdoc-gui/check_info_sign_position.goml
+++ b/tests/rustdoc-gui/check_info_sign_position.goml
diff --git a/src/test/rustdoc-gui/code-blocks-overflow.goml b/tests/rustdoc-gui/code-blocks-overflow.goml
index fbf0e890b..fbf0e890b 100644
--- a/src/test/rustdoc-gui/code-blocks-overflow.goml
+++ b/tests/rustdoc-gui/code-blocks-overflow.goml
diff --git a/tests/rustdoc-gui/code-color.goml b/tests/rustdoc-gui/code-color.goml
new file mode 100644
index 000000000..cb550a457
--- /dev/null
+++ b/tests/rustdoc-gui/code-color.goml
@@ -0,0 +1,24 @@
+// The ayu theme has a different color for the "<code>" tags in the doc blocks. We need to
+// check that the rule isn't applied on other "<code>" elements.
+//
+// While we're at it, we also check it for the other themes.
+goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
+// If the text isn't displayed, the browser doesn't compute color style correctly...
+show-text: true
+
+define-function: (
+ "check-colors",
+ (theme, doc_code_color, doc_inline_code_color),
+ block {
+ // Set the theme.
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ // We reload the page so the local storage settings are being used.
+ reload:
+ assert-css: (".docblock pre > code", {"color": |doc_code_color|}, ALL)
+ assert-css: (".docblock > p > code", {"color": |doc_inline_code_color|}, ALL)
+ },
+)
+
+call-function: ("check-colors", ("ayu", "rgb(230, 225, 207)", "rgb(255, 180, 84)"))
+call-function: ("check-colors", ("dark", "rgb(221, 221, 221)", "rgb(221, 221, 221)"))
+call-function: ("check-colors", ("light", "rgb(0, 0, 0)", "rgb(0, 0, 0)"))
diff --git a/src/test/rustdoc-gui/code-sidebar-toggle.goml b/tests/rustdoc-gui/code-sidebar-toggle.goml
index 00a0ea1e1..df665bd46 100644
--- a/src/test/rustdoc-gui/code-sidebar-toggle.goml
+++ b/tests/rustdoc-gui/code-sidebar-toggle.goml
@@ -1,7 +1,7 @@
// This test checks that the source code pages sidebar toggle is working as expected.
goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
click: ".srclink"
-wait-for: "#sidebar-toggle"
-click: "#sidebar-toggle"
+wait-for: "#src-sidebar-toggle"
+click: "#src-sidebar-toggle"
fail: true
assert-css: ("#source-sidebar", { "left": "-300px" })
diff --git a/src/test/rustdoc-gui/code-tags.goml b/tests/rustdoc-gui/code-tags.goml
index 94c1a6525..8561f537f 100644
--- a/src/test/rustdoc-gui/code-tags.goml
+++ b/tests/rustdoc-gui/code-tags.goml
@@ -9,16 +9,16 @@ size: (1080, 600)
// Check that their content is inside <pre><code>
assert-count: (".example-wrap pre > code", 4)
// Check that function signature is inside <pre><code>
-assert: "pre.rust.fn > code"
+assert: ".item-decl pre.rust > code"
goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
-assert: "pre.rust.struct > code"
+assert: ".item-decl pre.rust > code"
goto: "file://" + |DOC_PATH| + "/test_docs/enum.AnEnum.html"
-assert: "pre.rust.enum > code"
+assert: ".item-decl pre.rust > code"
goto: "file://" + |DOC_PATH| + "/test_docs/trait.AnotherOne.html"
-assert: "pre.rust.trait > code"
+assert: ".item-decl pre.rust > code"
goto: "file://" + |DOC_PATH| + "/test_docs/type.SomeType.html"
-assert: "pre.rust.typedef > code"
+assert: ".item-decl pre.rust > code"
diff --git a/tests/rustdoc-gui/codeblock-sub.goml b/tests/rustdoc-gui/codeblock-sub.goml
new file mode 100644
index 000000000..cbd314d27
--- /dev/null
+++ b/tests/rustdoc-gui/codeblock-sub.goml
@@ -0,0 +1,5 @@
+// Test that code blocks nested within <sub> do not have a line height of 0.
+goto: "file://" + |DOC_PATH| + "/test_docs/codeblock_sub/index.html"
+
+store-property: (codeblock_sub_1, "#codeblock-sub-1", "offsetHeight")
+assert-property-false: ("#codeblock-sub-3", { "offsetHeight": |codeblock_sub_1| })
diff --git a/src/test/rustdoc-gui/codeblock-tooltip.goml b/tests/rustdoc-gui/codeblock-tooltip.goml
index 4d923be3e..a3ef4e77b 100644
--- a/src/test/rustdoc-gui/codeblock-tooltip.goml
+++ b/tests/rustdoc-gui/codeblock-tooltip.goml
@@ -5,131 +5,128 @@ show-text: true
define-function: (
"check-colors",
(theme, background, color, border),
- [
+ block {
// Setting the theme.
- ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
- ("reload"),
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
// compile_fail block
- ("assert-css", (
+ assert-css: (
".docblock .example-wrap.compile_fail .tooltip",
{"color": "rgba(255, 0, 0, 0.5)"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.compile_fail",
{"border-left": "2px solid rgba(255, 0, 0, 0.5)"},
- )),
+ )
- ("move-cursor-to", ".docblock .example-wrap.compile_fail"),
+ move-cursor-to: ".docblock .example-wrap.compile_fail .tooltip"
- ("assert-css", (
+ assert-css: (
".docblock .example-wrap.compile_fail .tooltip",
{"color": "rgb(255, 0, 0)"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.compile_fail",
{"border-left": "2px solid rgb(255, 0, 0)"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.compile_fail .tooltip::after",
{
"content": '"This example deliberately fails to compile"',
- "text-align": "center",
"padding": "5px 3px 3px",
"background-color": |background|,
"color": |color|,
"border": "1px solid " + |border|,
},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.compile_fail .tooltip::before",
{
"border-width": "5px",
"border-style": "solid",
"border-color": "rgba(0, 0, 0, 0) " + |background| + " rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)",
},
- )),
+ )
// should_panic block
- ("assert-css", (
+ assert-css: (
".docblock .example-wrap.should_panic .tooltip",
{"color": "rgba(255, 0, 0, 0.5)"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.should_panic",
{"border-left": "2px solid rgba(255, 0, 0, 0.5)"},
- )),
+ )
- ("move-cursor-to", ".docblock .example-wrap.should_panic"),
+ move-cursor-to: ".docblock .example-wrap.should_panic .tooltip"
- ("assert-css", (
+ assert-css: (
".docblock .example-wrap.should_panic .tooltip",
{"color": "rgb(255, 0, 0)"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.should_panic",
{"border-left": "2px solid rgb(255, 0, 0)"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.should_panic .tooltip::after",
{
"content": '"This example panics"',
- "text-align": "center",
"padding": "5px 3px 3px",
"background-color": |background|,
"color": |color|,
"border": "1px solid " + |border|,
},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.should_panic .tooltip::before",
{
"border-width": "5px",
"border-style": "solid",
"border-color": "rgba(0, 0, 0, 0) " + |background| + " rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)",
},
- )),
+ )
// ignore block
- ("assert-css", (
+ assert-css: (
".docblock .example-wrap.ignore .tooltip",
{"color": "rgba(255, 142, 0, 0.6)"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.ignore",
{"border-left": "2px solid rgba(255, 142, 0, 0.6)"},
- )),
+ )
- ("move-cursor-to", ".docblock .example-wrap.ignore"),
+ move-cursor-to: ".docblock .example-wrap.ignore .tooltip"
- ("assert-css", (
+ assert-css: (
".docblock .example-wrap.ignore .tooltip",
{"color": "rgb(255, 142, 0)"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.ignore",
{"border-left": "2px solid rgb(255, 142, 0)"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.ignore .tooltip::after",
{
"content": '"This example is not tested"',
- "text-align": "center",
"padding": "5px 3px 3px",
"background-color": |background|,
"color": |color|,
"border": "1px solid " + |border|,
},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".docblock .example-wrap.ignore .tooltip::before",
{
"border-width": "5px",
"border-style": "solid",
"border-color": "rgba(0, 0, 0, 0) " + |background| + " rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)",
},
- )),
- ],
+ )
+ },
)
call-function: ("check-colors", {
diff --git a/src/test/rustdoc-gui/cursor.goml b/tests/rustdoc-gui/cursor.goml
index b2e91cb81..59b139797 100644
--- a/src/test/rustdoc-gui/cursor.goml
+++ b/tests/rustdoc-gui/cursor.goml
@@ -12,8 +12,8 @@ write: (".search-input", "Foo")
// To be SURE that the search will be run.
press-key: 'Enter'
// Waiting for the search results to appear...
-wait-for: "#titles"
-assert-css: ("#titles > button", {"cursor": "pointer"})
+wait-for: "#search-tabs"
+assert-css: ("#search-tabs > button", {"cursor": "pointer"})
// mobile sidebar toggle button
size: (500, 700)
@@ -21,4 +21,4 @@ assert-css: (".sidebar-menu-toggle", {"cursor": "pointer"})
// the sidebar toggle button on the source code pages
goto: "file://" + |DOC_PATH| + "/src/lib2/lib.rs.html"
-assert-css: ("#sidebar-toggle > button", {"cursor": "pointer"})
+assert-css: ("#src-sidebar-toggle > button", {"cursor": "pointer"})
diff --git a/src/test/rustdoc-gui/default-settings.goml b/tests/rustdoc-gui/default-settings.goml
index ab27b001e..ab27b001e 100644
--- a/src/test/rustdoc-gui/default-settings.goml
+++ b/tests/rustdoc-gui/default-settings.goml
diff --git a/tests/rustdoc-gui/docblock-big-code-mobile.goml b/tests/rustdoc-gui/docblock-big-code-mobile.goml
new file mode 100644
index 000000000..3ce921c2c
--- /dev/null
+++ b/tests/rustdoc-gui/docblock-big-code-mobile.goml
@@ -0,0 +1,13 @@
+// If we have a long `<code>`, we need to ensure that it'll be fully displayed on mobile, meaning
+// that it'll be on two lines.
+emulate: "iPhone 8" // it has the following size: (375, 667)
+goto: "file://" + |DOC_PATH| + "/test_docs/long_code_block/index.html"
+// We now check that the block is on two lines:
+show-text: true // We need to enable text draw to be able to have the "real" size
+// Little explanations for this test: if the text wasn't displayed on two lines, it would take
+// around 20px (which is the font size).
+assert-property: (".docblock p > code", {"offsetHeight": "44"})
+
+// Same check, but where the long code block is also a link
+goto: "file://" + |DOC_PATH| + "/test_docs/long_code_block_link/index.html"
+assert-property: (".docblock p > a > code", {"offsetHeight": "44"})
diff --git a/tests/rustdoc-gui/docblock-code-block-line-number.goml b/tests/rustdoc-gui/docblock-code-block-line-number.goml
new file mode 100644
index 000000000..69bcf5339
--- /dev/null
+++ b/tests/rustdoc-gui/docblock-code-block-line-number.goml
@@ -0,0 +1,71 @@
+// Checks that the setting "line numbers" is working as expected.
+goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
+
+// Otherwise, we can't check text color
+show-text: true
+
+// We check that without this setting, there is no line number displayed.
+assert-false: "pre.example-line-numbers"
+
+// Let's now check some CSS properties...
+define-function: (
+ "check-colors",
+ (theme, color),
+ block {
+ // We now set the setting to show the line numbers on code examples.
+ local-storage: {
+ "rustdoc-theme": |theme|,
+ "rustdoc-use-system-theme": "false",
+ "rustdoc-line-numbers": "true"
+ }
+ // We reload to make the line numbers appear and change theme.
+ reload:
+ // We wait for them to be added into the DOM by the JS...
+ wait-for: "pre.example-line-numbers"
+ // If the test didn't fail, it means that it was found!
+ assert-css: (
+ "pre.example-line-numbers",
+ {
+ "color": |color|,
+ "margin": "0px",
+ "padding": "14px 8px",
+ "text-align": "right",
+ },
+ ALL,
+ )
+ },
+)
+call-function: ("check-colors", {
+ "theme": "ayu",
+ "color": "rgb(92, 103, 115)",
+})
+call-function: ("check-colors", {
+ "theme": "dark",
+ "color": "rgb(59, 145, 226)",
+})
+call-function: ("check-colors", {
+ "theme": "light",
+ "color": "rgb(198, 126, 45)",
+})
+
+// The first code block has two lines so let's check its `<pre>` elements lists both of them.
+assert-text: ("pre.example-line-numbers", "1\n2")
+
+// Now, try changing the setting dynamically. We'll turn it off, using the settings menu,
+// and make sure it goes away.
+
+// First, open the settings menu.
+click: "#settings-menu"
+wait-for: "#settings"
+assert-css: ("#settings", {"display": "block"})
+
+// Then, click the toggle button.
+click: "input#line-numbers"
+wait-for: 100 // wait-for-false does not exist
+assert-false: "pre.example-line-numbers"
+assert-local-storage: {"rustdoc-line-numbers": "false" }
+
+// Finally, turn it on again.
+click: "input#line-numbers"
+wait-for: "pre.example-line-numbers"
+assert-local-storage: {"rustdoc-line-numbers": "true" }
diff --git a/src/test/rustdoc-gui/docblock-details.goml b/tests/rustdoc-gui/docblock-details.goml
index 9ae571efb..9ae571efb 100644
--- a/src/test/rustdoc-gui/docblock-details.goml
+++ b/tests/rustdoc-gui/docblock-details.goml
diff --git a/src/test/rustdoc-gui/docblock-table-overflow.goml b/tests/rustdoc-gui/docblock-table-overflow.goml
index d8670089a..d8670089a 100644
--- a/src/test/rustdoc-gui/docblock-table-overflow.goml
+++ b/tests/rustdoc-gui/docblock-table-overflow.goml
diff --git a/tests/rustdoc-gui/docblock-table.goml b/tests/rustdoc-gui/docblock-table.goml
new file mode 100644
index 000000000..3dcb8abd4
--- /dev/null
+++ b/tests/rustdoc-gui/docblock-table.goml
@@ -0,0 +1,52 @@
+// This test checks the appearance of the tables in the doc comments.
+goto: "file://" + |DOC_PATH| + "/test_docs/doc_block_table/struct.DocBlockTable.html#method.func"
+
+compare-elements-css: (".impl-items .docblock table th", ".top-doc .docblock table th", ["border"])
+compare-elements-css: (".impl-items .docblock table td", ".top-doc .docblock table td", ["border"])
+
+define-function: (
+ "check-colors",
+ (theme, border_color, zebra_stripe_color),
+ block {
+ local-storage: {"rustdoc-use-system-theme": "false", "rustdoc-theme": |theme|}
+ reload:
+ assert-css: (".top-doc .docblock table tbody tr:nth-child(1)", {
+ "background-color": "rgba(0, 0, 0, 0)",
+ })
+ assert-css: (".top-doc .docblock table tbody tr:nth-child(2)", {
+ "background-color": |zebra_stripe_color|,
+ })
+ assert-css: (".top-doc .docblock table tbody tr:nth-child(3)", {
+ "background-color": "rgba(0, 0, 0, 0)",
+ })
+ assert-css: (".top-doc .docblock table tbody tr:nth-child(4)", {
+ "background-color": |zebra_stripe_color|,
+ })
+ assert-css: (".top-doc .docblock table td", {
+ "border-style": "solid",
+ "border-width": "1px",
+ "border-color": |border_color|,
+ })
+ assert-css: (".top-doc .docblock table th", {
+ "border-style": "solid",
+ "border-width": "1px",
+ "border-color": |border_color|,
+ })
+ }
+)
+
+call-function: ("check-colors", {
+ "theme": "dark",
+ "border_color": "rgb(224, 224, 224)",
+ "zebra_stripe_color": "rgb(42, 42, 42)",
+})
+call-function: ("check-colors", {
+ "theme": "ayu",
+ "border_color": "rgb(92, 103, 115)",
+ "zebra_stripe_color": "rgb(25, 31, 38)",
+})
+call-function: ("check-colors", {
+ "theme": "light",
+ "border_color": "rgb(224, 224, 224)",
+ "zebra_stripe_color": "rgb(245, 245, 245)",
+})
diff --git a/src/test/rustdoc-gui/duplicate-macro-reexport.goml b/tests/rustdoc-gui/duplicate-macro-reexport.goml
index 496203c12..496203c12 100644
--- a/src/test/rustdoc-gui/duplicate-macro-reexport.goml
+++ b/tests/rustdoc-gui/duplicate-macro-reexport.goml
diff --git a/src/test/rustdoc-gui/enum-variants.goml b/tests/rustdoc-gui/enum-variants.goml
index 8dfc49285..8dfc49285 100644
--- a/src/test/rustdoc-gui/enum-variants.goml
+++ b/tests/rustdoc-gui/enum-variants.goml
diff --git a/src/test/rustdoc-gui/escape-key.goml b/tests/rustdoc-gui/escape-key.goml
index 78e9f2309..5d80d2496 100644
--- a/src/test/rustdoc-gui/escape-key.goml
+++ b/tests/rustdoc-gui/escape-key.goml
@@ -5,7 +5,7 @@ goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
write: (".search-input", "test")
// To be SURE that the search will be run.
press-key: 'Enter'
-wait-for: "#search h1" // The search element is empty before the first search
+wait-for: "#search h1" // The search element is empty before the first search
// Check that the currently displayed element is search.
wait-for: "#alternative-display #search"
assert-attribute: ("#main-content", {"class": "content hidden"})
diff --git a/src/test/rustdoc-gui/font-weight.goml b/tests/rustdoc-gui/font-weight.goml
index 8ba005b0c..fafb15631 100644
--- a/src/test/rustdoc-gui/font-weight.goml
+++ b/tests/rustdoc-gui/font-weight.goml
@@ -20,7 +20,7 @@ goto: "file://" + |DOC_PATH| + "/lib2/trait.Trait.html"
// This is a complex selector, so here's how it works:
//
// * //*[@class='item-decl'] — selects element of any tag with classes docblock and item-decl
-// * /pre[@class='rust trait'] — selects immediate child with tag pre and classes rust and trait
+// * /pre[@class='rust'] — selects immediate child with tag pre and class rust
// * /code — selects immediate child with tag code
// * /a[@class='constant'] — selects immediate child with tag a and class constant
// * //text() — selects child that is text node
@@ -29,11 +29,11 @@ goto: "file://" + |DOC_PATH| + "/lib2/trait.Trait.html"
// This uses '/parent::*' as a proxy for the style of the text node.
// We can't just select the '<a>' because intermediate tags could be added.
assert-count: (
- "//*[@class='item-decl']/pre[@class='rust trait']/code/a[@class='constant']//text()/parent::*",
+ "//*[@class='item-decl']/pre[@class='rust']/code/a[@class='constant']//text()/parent::*",
1,
)
assert-css: (
- "//*[@class='item-decl']/pre[@class='rust trait']/code/a[@class='constant']//text()/parent::*",
+ "//*[@class='item-decl']/pre[@class='rust']/code/a[@class='constant']//text()/parent::*",
{"font-weight": "400"},
)
diff --git a/src/test/rustdoc-gui/hash-item-expansion.goml b/tests/rustdoc-gui/hash-item-expansion.goml
index 3cf94f624..3cf94f624 100644
--- a/src/test/rustdoc-gui/hash-item-expansion.goml
+++ b/tests/rustdoc-gui/hash-item-expansion.goml
diff --git a/tests/rustdoc-gui/headers-color.goml b/tests/rustdoc-gui/headers-color.goml
new file mode 100644
index 000000000..92cf050a5
--- /dev/null
+++ b/tests/rustdoc-gui/headers-color.goml
@@ -0,0 +1,70 @@
+// This test check for headers text and background colors for the different themes.
+
+define-function: (
+ "check-colors",
+ (theme, color, code_header_color, focus_background_color, headings_color),
+ block {
+ goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
+ // This is needed so that the text color is computed.
+ show-text: true
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ assert-css: (
+ ".impl",
+ {"color": |color|, "background-color": "rgba(0, 0, 0, 0)"},
+ ALL,
+ )
+ assert-css: (
+ ".impl .code-header",
+ {"color": |code_header_color|, "background-color": "rgba(0, 0, 0, 0)"},
+ ALL,
+ )
+ goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#impl-Foo"
+ assert-css: (
+ "#impl-Foo",
+ {"color": |color|, "background-color": |focus_background_color|},
+ )
+ goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html#method.must_use"
+ assert-css: (
+ "#method\.must_use",
+ {"color": |color|, "background-color": |focus_background_color|},
+ ALL,
+ )
+ goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+ assert-css: (".small-section-header a", {"color": |color|}, ALL)
+ goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
+ // We select headings (h2, h3, h...).
+ assert-css: (".docblock > :not(p) > a", {"color": |headings_color|}, ALL)
+ },
+)
+
+call-function: (
+ "check-colors",
+ {
+ "theme": "ayu",
+ "color": "rgb(197, 197, 197)",
+ "code_header_color": "rgb(230, 225, 207)",
+ "focus_background_color": "rgba(255, 236, 164, 0.06)",
+ "headings_color": "rgb(57, 175, 215)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "dark",
+ "color": "rgb(221, 221, 221)",
+ "code_header_color": "rgb(221, 221, 221)",
+ "focus_background_color": "rgb(73, 74, 61)",
+ "headings_color": "rgb(210, 153, 29)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "light",
+ "color": "rgb(0, 0, 0)",
+ "code_header_color": "rgb(0, 0, 0)",
+ "focus_background_color": "rgb(253, 255, 211)",
+ "headings_color": "rgb(56, 115, 173)",
+ },
+)
diff --git a/src/test/rustdoc-gui/headings.goml b/tests/rustdoc-gui/headings.goml
index 85e17ca95..e4ba5f124 100644
--- a/src/test/rustdoc-gui/headings.goml
+++ b/tests/rustdoc-gui/headings.goml
@@ -13,7 +13,7 @@
// 14px 0.875rem
goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
-assert-css: ("h1.fqn", {"font-size": "24px"})
+assert-css: (".main-heading h1", {"font-size": "24px"})
assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
@@ -52,7 +52,7 @@ assert-css: ("h6#sub-sub-heading-for-struct-impl-item-doc", {"font-size": "14px"
goto: "file://" + |DOC_PATH| + "/test_docs/enum.HeavilyDocumentedEnum.html"
-assert-css: ("h1.fqn", {"font-size": "24px"})
+assert-css: (".main-heading h1", {"font-size": "24px"})
assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
@@ -111,7 +111,7 @@ assert-css: ("//ul[@class='block mod']/preceding-sibling::h3", {"border-bottom-w
goto: "file://" + |DOC_PATH| + "/test_docs/union.HeavilyDocumentedUnion.html"
-assert-css: ("h1.fqn", {"font-size": "24px"})
+assert-css: (".main-heading h1", {"font-size": "24px"})
assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
@@ -143,7 +143,7 @@ assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"border-bottom-width": "
goto: "file://" + |DOC_PATH| + "/test_docs/macro.heavily_documented_macro.html"
-assert-css: ("h1.fqn", {"font-size": "24px"})
+assert-css: (".main-heading h1", {"font-size": "24px"})
assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
@@ -157,38 +157,38 @@ goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
define-function: (
"check-colors",
(theme, heading_color, small_heading_color, heading_border_color),
- [
- ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
- ("reload"),
- ("assert-css", (
+ block {
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ assert-css: (
".top-doc .docblock h2",
{"color": |heading_color|, "border-bottom": "1px solid " + |heading_border_color|},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".top-doc .docblock h3",
{"color": |heading_color|, "border-bottom": "1px solid " + |heading_border_color|},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".top-doc .docblock h4",
{"color": |heading_color|, "border-bottom": "1px solid " + |heading_border_color|},
- )),
- ("assert-css", (
+ )
+ assert-css: (
".top-doc .docblock h5",
{"color": |small_heading_color|, "border-bottom-width": "0px"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
"#implementations-list .docblock h4",
{"color": |heading_color|, "border-bottom-width": "0px"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
"#implementations-list .docblock h5",
{"color": |small_heading_color|, "border-bottom-width": "0px"},
- )),
- ("assert-css", (
+ )
+ assert-css: (
"#implementations-list .docblock h6",
{"color": |small_heading_color|, "border-bottom-width": "0px"},
- )),
- ],
+ )
+ },
)
call-function: (
"check-colors",
@@ -221,11 +221,11 @@ call-function: (
define-function: (
"check-since-color",
(theme),
- [
- ("local-storage", {"rustdoc-theme": |theme|}),
- ("reload"),
- ("assert-css", (".since", {"color": "rgb(128, 128, 128)"}, ALL)),
- ],
+ block {
+ local-storage: {"rustdoc-theme": |theme|}
+ reload:
+ assert-css: (".since", {"color": "rgb(128, 128, 128)"}, ALL)
+ },
)
goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
diff --git a/src/test/rustdoc-gui/help-page.goml b/tests/rustdoc-gui/help-page.goml
index 799ba851c..5f4c1ba2f 100644
--- a/src/test/rustdoc-gui/help-page.goml
+++ b/tests/rustdoc-gui/help-page.goml
@@ -18,18 +18,17 @@ show-text: true
define-function: (
"check-colors",
(theme, color, background, box_shadow),
- [
+ block {
// Setting the theme.
- ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
// We reload the page so the local storage settings are being used.
- ("reload"),
- ("assert-css", ("#help kbd", {
+ reload:
+ assert-css: ("#help kbd", {
"color": |color|,
"background-color": |background|,
"box-shadow": |box_shadow| + " 0px -1px 0px 0px inset",
- "cursor": "default",
- }, ALL)),
- ],
+ }, ALL)
+ },
)
call-function: ("check-colors", {
@@ -40,7 +39,7 @@ call-function: ("check-colors", {
})
call-function: ("check-colors", {
"theme": "dark",
- "color": "rgb(221, 221, 221)",
+ "color": "rgb(0, 0, 0)",
"background": "rgb(250, 251, 252)",
"box_shadow": "rgb(198, 203, 209)",
})
@@ -62,3 +61,12 @@ click: "#help-button > a"
assert-css: ("#help", {"display": "none"})
compare-elements-property-false: (".sub", "#help", ["offsetWidth"])
compare-elements-position-false: (".sub", "#help", ("x"))
+
+// This test ensures that the "the rustdoc book" anchor link within the help popover works.
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+size: (1000, 1000) // Popover only appears when the screen width is >700px.
+assert-false: "#help"
+click: "#help-button > a"
+click: ".popover a[href='https://doc.rust-lang.org/rustdoc/']"
+wait-for: 2000
+assert-document-property: {"URL": "https://doc.rust-lang.org/rustdoc/"}
diff --git a/tests/rustdoc-gui/highlight-colors.goml b/tests/rustdoc-gui/highlight-colors.goml
new file mode 100644
index 000000000..b182150a5
--- /dev/null
+++ b/tests/rustdoc-gui/highlight-colors.goml
@@ -0,0 +1,94 @@
+// This test checks the highlight colors in the source code pages.
+goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
+show-text: true
+
+define-function: (
+ "check-colors",
+ (
+ theme,
+ kw,
+ kw2,
+ prelude_ty,
+ prelude_val,
+ lifetime,
+ number,
+ string,
+ bool_val,
+ self,
+ attr,
+ macro,
+ question_mark,
+ comment,
+ doc_comment,
+ ),
+ block {
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ assert-css: ("pre.rust .kw", {"color": |kw|}, ALL)
+ assert-css: ("pre.rust .kw-2", {"color": |kw2|}, ALL)
+ assert-css: ("pre.rust .prelude-ty", {"color": |prelude_ty|}, ALL)
+ assert-css: ("pre.rust .prelude-val", {"color": |prelude_val|}, ALL)
+ assert-css: ("pre.rust .lifetime", {"color": |lifetime|}, ALL)
+ assert-css: ("pre.rust .number", {"color": |number|}, ALL)
+ assert-css: ("pre.rust .string", {"color": |string|}, ALL)
+ assert-css: ("pre.rust .bool-val", {"color": |bool_val|}, ALL)
+ assert-css: ("pre.rust .self", {"color": |self|}, ALL)
+ assert-css: ("pre.rust .attr", {"color": |attr|}, ALL)
+ assert-css: ("pre.rust .macro", {"color": |macro|}, ALL)
+ assert-css: ("pre.rust .question-mark", {"color": |question_mark|}, ALL)
+ assert-css: ("pre.rust .comment", {"color": |comment|}, ALL)
+ assert-css: ("pre.rust .doccomment", {"color": |doc_comment|}, ALL)
+ },
+)
+
+call-function: ("check-colors", {
+ "theme": "ayu",
+ "kw": "rgb(255, 119, 51)",
+ "kw2": "rgb(255, 119, 51)",
+ "prelude_ty": "rgb(105, 242, 223)",
+ "prelude_val": "rgb(255, 119, 51)",
+ "lifetime": "rgb(255, 119, 51)",
+ "number": "rgb(184, 204, 82)",
+ "string": "rgb(184, 204, 82)",
+ "bool_val": "rgb(255, 119, 51)",
+ "self": "rgb(54, 163, 217)",
+ "attr": "rgb(230, 225, 207)",
+ "macro": "rgb(163, 122, 204)",
+ "question_mark": "rgb(255, 144, 17)",
+ "comment": "rgb(120, 135, 151)",
+ "doc_comment": "rgb(161, 172, 136)",
+})
+call-function: ("check-colors", {
+ "theme": "dark",
+ "kw": "rgb(171, 138, 193)",
+ "kw2": "rgb(118, 154, 203)",
+ "prelude_ty": "rgb(118, 154, 203)",
+ "prelude_val": "rgb(238, 104, 104)",
+ "lifetime": "rgb(217, 127, 38)",
+ "number": "rgb(131, 163, 0)",
+ "string": "rgb(131, 163, 0)",
+ "bool_val": "rgb(238, 104, 104)",
+ "self": "rgb(238, 104, 104)",
+ "attr": "rgb(238, 104, 104)",
+ "macro": "rgb(62, 153, 159)",
+ "question_mark": "rgb(255, 144, 17)",
+ "comment": "rgb(141, 141, 139)",
+ "doc_comment": "rgb(140, 163, 117)",
+})
+call-function: ("check-colors", {
+ "theme": "light",
+ "kw": "rgb(137, 89, 168)",
+ "kw2": "rgb(66, 113, 174)",
+ "prelude_ty": "rgb(66, 113, 174)",
+ "prelude_val": "rgb(200, 40, 41)",
+ "lifetime": "rgb(183, 101, 20)",
+ "number": "rgb(113, 140, 0)",
+ "string": "rgb(113, 140, 0)",
+ "bool_val": "rgb(200, 40, 41)",
+ "self": "rgb(200, 40, 41)",
+ "attr": "rgb(200, 40, 41)",
+ "macro": "rgb(62, 153, 159)",
+ "question_mark": "rgb(255, 144, 17)",
+ "comment": "rgb(142, 144, 140)",
+ "doc_comment": "rgb(77, 77, 76)",
+})
diff --git a/src/test/rustdoc-gui/huge-collection-of-constants.goml b/tests/rustdoc-gui/huge-collection-of-constants.goml
index 3ccd33f1c..3ccd33f1c 100644
--- a/src/test/rustdoc-gui/huge-collection-of-constants.goml
+++ b/tests/rustdoc-gui/huge-collection-of-constants.goml
diff --git a/src/test/rustdoc-gui/huge-logo.goml b/tests/rustdoc-gui/huge-logo.goml
index 01f06771c..01f06771c 100644
--- a/src/test/rustdoc-gui/huge-logo.goml
+++ b/tests/rustdoc-gui/huge-logo.goml
diff --git a/src/test/rustdoc-gui/impl-default-expansion.goml b/tests/rustdoc-gui/impl-default-expansion.goml
index c3f9240cc..c3f9240cc 100644
--- a/src/test/rustdoc-gui/impl-default-expansion.goml
+++ b/tests/rustdoc-gui/impl-default-expansion.goml
diff --git a/tests/rustdoc-gui/impl-doc.goml b/tests/rustdoc-gui/impl-doc.goml
new file mode 100644
index 000000000..6caffb9c3
--- /dev/null
+++ b/tests/rustdoc-gui/impl-doc.goml
@@ -0,0 +1,9 @@
+// A docblock on an impl must have a margin to separate it from the contents.
+goto: "file://" + |DOC_PATH| + "/test_docs/struct.TypeWithImplDoc.html"
+
+// The text is about 24px tall, so if there's a margin, then their position will be >24px apart
+compare-elements-position-near-false: (
+ "#implementations-list > .implementors-toggle > .docblock > p",
+ "#implementations-list > .implementors-toggle > .impl-items",
+ {"y": 24}
+)
diff --git a/src/test/rustdoc-gui/implementors.goml b/tests/rustdoc-gui/implementors.goml
index 4999283dc..997c0ed8f 100644
--- a/src/test/rustdoc-gui/implementors.goml
+++ b/tests/rustdoc-gui/implementors.goml
@@ -33,3 +33,9 @@ goto: "file://" + |DOC_PATH| + "/lib2/trait.TraitToReexport.html"
assert-count: ("#implementors-list .impl", 1)
goto: "file://" + |DOC_PATH| + "/implementors/trait.TraitToReexport.html"
assert-count: ("#implementors-list .impl", 1)
+
+// Now check that the link is properly rewritten for a crate called `http`.
+// An older version of rustdoc had a buggy check for absolute links.
+goto: "file://" + |DOC_PATH| + "/http/trait.HttpTrait.html"
+assert-count: ("#implementors-list .impl", 1)
+assert-attribute: ("#implementors-list .impl a.trait", {"href": "../http/trait.HttpTrait.html"})
diff --git a/tests/rustdoc-gui/item-decl-colors.goml b/tests/rustdoc-gui/item-decl-colors.goml
new file mode 100644
index 000000000..c58e3eb7c
--- /dev/null
+++ b/tests/rustdoc-gui/item-decl-colors.goml
@@ -0,0 +1,80 @@
+// This test ensures that the color of the items in the type decl are working as expected.
+
+// We need to disable this check because `implementors/test_docs/trait.TraitWithoutGenerics.js`
+// doesn't exist.
+fail-on-request-error: false
+
+define-function: (
+ "check-colors",
+ (
+ theme,
+ attr_color,
+ trait_color,
+ struct_color,
+ enum_color,
+ primitive_color,
+ constant_color,
+ fn_color,
+ assoc_type_color,
+ ),
+ block {
+ goto: "file://" + |DOC_PATH| + "/test_docs/struct.WithGenerics.html"
+ show-text: true
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ assert-css: (".item-decl .code-attribute", {"color": |attr_color|}, ALL)
+ assert-css: (".item-decl .trait", {"color": |trait_color|}, ALL)
+ // We need to add `code` here because otherwise it would select the parent too.
+ assert-css: (".item-decl code .struct", {"color": |struct_color|}, ALL)
+ assert-css: (".item-decl .enum", {"color": |enum_color|}, ALL)
+ assert-css: (".item-decl .primitive", {"color": |primitive_color|}, ALL)
+
+ goto: "file://" + |DOC_PATH| + "/test_docs/trait.TraitWithoutGenerics.html"
+ assert-css: (".item-decl .constant", {"color": |constant_color|}, ALL)
+ assert-css: (".item-decl .fn", {"color": |fn_color|}, ALL)
+ assert-css: (".item-decl .associatedtype", {"color": |assoc_type_color|}, ALL)
+ },
+)
+
+call-function: (
+ "check-colors",
+ {
+ "theme": "ayu",
+ "attr_color": "rgb(153, 153, 153)",
+ "trait_color": "rgb(57, 175, 215)",
+ "struct_color": "rgb(255, 160, 165)",
+ "enum_color": "rgb(255, 160, 165)",
+ "primitive_color": "rgb(255, 160, 165)",
+ "constant_color": "rgb(57, 175, 215)",
+ "fn_color": "rgb(253, 214, 135)",
+ "assoc_type_color": "rgb(57, 175, 215)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "dark",
+ "attr_color": "rgb(153, 153, 153)",
+ "trait_color": "rgb(183, 140, 242)",
+ "struct_color": "rgb(45, 191, 184)",
+ "enum_color": "rgb(45, 191, 184)",
+ "primitive_color": "rgb(45, 191, 184)",
+ "constant_color": "rgb(210, 153, 29)",
+ "fn_color": "rgb(43, 171, 99)",
+ "assoc_type_color": "rgb(210, 153, 29)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "light",
+ "attr_color": "rgb(153, 153, 153)",
+ "trait_color": "rgb(110, 79, 201)",
+ "struct_color": "rgb(173, 55, 138)",
+ "enum_color": "rgb(173, 55, 138)",
+ "primitive_color": "rgb(173, 55, 138)",
+ "constant_color": "rgb(56, 115, 173)",
+ "fn_color": "rgb(173, 124, 55)",
+ "assoc_type_color": "rgb(56, 115, 173)",
+ },
+)
diff --git a/src/test/rustdoc-gui/item-info-alignment.goml b/tests/rustdoc-gui/item-info-alignment.goml
index 94b52f005..94b52f005 100644
--- a/src/test/rustdoc-gui/item-info-alignment.goml
+++ b/tests/rustdoc-gui/item-info-alignment.goml
diff --git a/src/test/rustdoc-gui/item-info-overflow.goml b/tests/rustdoc-gui/item-info-overflow.goml
index 8ea14621c..8ea14621c 100644
--- a/src/test/rustdoc-gui/item-info-overflow.goml
+++ b/tests/rustdoc-gui/item-info-overflow.goml
diff --git a/src/test/rustdoc-gui/item-info.goml b/tests/rustdoc-gui/item-info.goml
index 6780dfca6..6780dfca6 100644
--- a/src/test/rustdoc-gui/item-info.goml
+++ b/tests/rustdoc-gui/item-info.goml
diff --git a/src/test/rustdoc-gui/item-summary-table.goml b/tests/rustdoc-gui/item-summary-table.goml
index 2a92e9da5..2a92e9da5 100644
--- a/src/test/rustdoc-gui/item-summary-table.goml
+++ b/tests/rustdoc-gui/item-summary-table.goml
diff --git a/src/test/rustdoc-gui/javascript-disabled.goml b/tests/rustdoc-gui/javascript-disabled.goml
index edf179d0d..edf179d0d 100644
--- a/src/test/rustdoc-gui/javascript-disabled.goml
+++ b/tests/rustdoc-gui/javascript-disabled.goml
diff --git a/src/test/rustdoc-gui/jump-to-def-background.goml b/tests/rustdoc-gui/jump-to-def-background.goml
index b65faf13d..8ee3ccf4a 100644
--- a/src/test/rustdoc-gui/jump-to-def-background.goml
+++ b/tests/rustdoc-gui/jump-to-def-background.goml
@@ -4,17 +4,17 @@ goto: "file://" + |DOC_PATH| + "/src/link_to_definition/lib.rs.html"
define-function: (
"check-background-color",
(theme, background_color),
- [
+ block {
// Set the theme.
- ("local-storage", { "rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false" }),
+ local-storage: { "rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false" }
// We reload the page so the local storage settings are being used.
- ("reload"),
- ("assert-css", (
+ reload:
+ assert-css: (
"body.source .example-wrap pre.rust a",
{"background-color": |background_color|},
ALL,
- )),
- ],
+ )
+ },
)
call-function: ("check-background-color", ("ayu", "rgb(51, 51, 51)"))
diff --git a/src/test/rustdoc-gui/label-next-to-symbol.goml b/tests/rustdoc-gui/label-next-to-symbol.goml
index 05f8ddc71..05f8ddc71 100644
--- a/src/test/rustdoc-gui/label-next-to-symbol.goml
+++ b/tests/rustdoc-gui/label-next-to-symbol.goml
diff --git a/tests/rustdoc-gui/links-color.goml b/tests/rustdoc-gui/links-color.goml
new file mode 100644
index 000000000..14f7d9935
--- /dev/null
+++ b/tests/rustdoc-gui/links-color.goml
@@ -0,0 +1,98 @@
+// This test checks links colors.
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+
+// This is needed so that the text color is computed.
+show-text: true
+
+define-function: (
+ "check-colors",
+ (theme, mod, macro, struct, enum, trait, fn, type, union, keyword,
+ sidebar, sidebar_current, sidebar_current_background),
+ block {
+ local-storage: {
+ "rustdoc-theme": |theme|,
+ "rustdoc-use-system-theme": "false",
+ }
+ reload:
+ // Checking results colors.
+ assert-css: (".item-table .mod", {"color": |mod|}, ALL)
+ assert-css: (".item-table .macro", {"color": |macro|}, ALL)
+ assert-css: (".item-table .struct", {"color": |struct|}, ALL)
+ assert-css: (".item-table .enum", {"color": |enum|}, ALL)
+ assert-css: (".item-table .trait", {"color": |trait|}, ALL)
+ assert-css: (".item-table .fn", {"color": |fn|}, ALL)
+ assert-css: (".item-table .type", {"color": |type|}, ALL)
+ assert-css: (".item-table .union", {"color": |union|}, ALL)
+ assert-css: (".item-table .keyword", {"color": |keyword|}, ALL)
+ // Checking sidebar elements.
+ assert-css: (
+ ".sidebar-elems a:not(.current)",
+ {"color": |sidebar|, "background-color": "rgba(0, 0, 0, 0)", "font-weight": "400"},
+ ALL,
+ )
+ assert-css: (
+ ".sidebar-elems a.current",
+ {
+ "color": |sidebar_current|,
+ "background-color": |sidebar_current_background|,
+ "font-weight": "500",
+ },
+ ALL,
+ )
+ },
+)
+
+call-function: (
+ "check-colors",
+ {
+ "theme": "ayu",
+ "mod": "rgb(57, 175, 215)",
+ "macro": "rgb(163, 122, 204)",
+ "struct": "rgb(255, 160, 165)",
+ "enum": "rgb(255, 160, 165)",
+ "trait": "rgb(57, 175, 215)",
+ "fn": "rgb(253, 214, 135)",
+ "type": "rgb(255, 160, 165)",
+ "union": "rgb(255, 160, 165)",
+ "keyword": "rgb(57, 175, 215)",
+ "sidebar": "rgb(83, 177, 219)",
+ "sidebar_current": "rgb(255, 180, 76)",
+ "sidebar_current_background": "rgba(0, 0, 0, 0)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "dark",
+ "mod": "rgb(210, 153, 29)",
+ "macro": "rgb(9, 189, 0)",
+ "struct": "rgb(45, 191, 184)",
+ "enum": "rgb(45, 191, 184)",
+ "trait": "rgb(183, 140, 242)",
+ "fn": "rgb(43, 171, 99)",
+ "type": "rgb(45, 191, 184)",
+ "union": "rgb(45, 191, 184)",
+ "keyword": "rgb(210, 153, 29)",
+ "sidebar": "rgb(253, 191, 53)",
+ "sidebar_current": "rgb(253, 191, 53)",
+ "sidebar_current_background": "rgb(68, 68, 68)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "light",
+ "mod": "rgb(56, 115, 173)",
+ "macro": "rgb(6, 128, 0)",
+ "struct": "rgb(173, 55, 138)",
+ "enum": "rgb(173, 55, 138)",
+ "trait": "rgb(110, 79, 201)",
+ "fn": "rgb(173, 124, 55)",
+ "type": "rgb(173, 55, 138)",
+ "union": "rgb(173, 55, 138)",
+ "keyword": "rgb(56, 115, 173)",
+ "sidebar": "rgb(53, 109, 164)",
+ "sidebar_current": "rgb(53, 109, 164)",
+ "sidebar_current_background": "rgb(255, 255, 255)",
+ },
+)
diff --git a/src/test/rustdoc-gui/list_code_block.goml b/tests/rustdoc-gui/list_code_block.goml
index 3423a449d..c527cfbfc 100644
--- a/src/test/rustdoc-gui/list_code_block.goml
+++ b/tests/rustdoc-gui/list_code_block.goml
@@ -1,4 +1,4 @@
// This test checks that code blocks in list are supported.
goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
goto: "./fn.check_list_code_block.html"
-assert: ("pre.rust.fn")
+assert: (".item-decl pre.rust")
diff --git a/tests/rustdoc-gui/method-margins.goml b/tests/rustdoc-gui/method-margins.goml
new file mode 100644
index 000000000..720268a9e
--- /dev/null
+++ b/tests/rustdoc-gui/method-margins.goml
@@ -0,0 +1,18 @@
+// This test ensures that the margins on methods are coherent inside an impl block.
+goto: "file://" + |DOC_PATH| + "/test_docs/trait_members/struct.HasTrait.html#impl-TraitMembers-for-HasTrait"
+
+assert-count: ("#trait-implementations-list > .toggle", 1)
+
+compare-elements-css: (
+ // compare margin on type with margin on method
+ "#trait-implementations-list .impl-items > .toggle:nth-child(1) > summary",
+ "#trait-implementations-list .impl-items > .toggle:nth-child(2) > summary",
+ ["margin"]
+)
+
+compare-elements-css: (
+ // compare margin on type with margin on method
+ "#trait-implementations-list .impl-items > .toggle:nth-child(1)",
+ "#trait-implementations-list .impl-items > .toggle:nth-child(2)",
+ ["margin"]
+)
diff --git a/src/test/rustdoc-gui/mobile.goml b/tests/rustdoc-gui/mobile.goml
index 704542a39..895864d89 100644
--- a/src/test/rustdoc-gui/mobile.goml
+++ b/tests/rustdoc-gui/mobile.goml
@@ -27,4 +27,8 @@ assert-css-false: (".content .out-of-band .since::before", { "content": "\"Since
goto: "file://" + |DOC_PATH| + "/settings.html"
size: (400, 600)
// Ignored for now https://github.com/rust-lang/rust/issues/93784.
-// compare-elements-position-near-false: ("#preferred-light-theme .setting-name", "#preferred-light-theme .choice", {"y": 16})
+// compare-elements-position-near-false: (
+// "#preferred-light-theme .setting-name",
+// "#preferred-light-theme .choice",
+// {"y": 16},
+// )
diff --git a/src/test/rustdoc-gui/module-items-font.goml b/tests/rustdoc-gui/module-items-font.goml
index cd3676a98..cd3676a98 100644
--- a/src/test/rustdoc-gui/module-items-font.goml
+++ b/tests/rustdoc-gui/module-items-font.goml
diff --git a/src/test/rustdoc-gui/no-docblock.goml b/tests/rustdoc-gui/no-docblock.goml
index 17a955064..17a955064 100644
--- a/src/test/rustdoc-gui/no-docblock.goml
+++ b/tests/rustdoc-gui/no-docblock.goml
diff --git a/src/test/rustdoc-gui/notable-trait.goml b/tests/rustdoc-gui/notable-trait.goml
index 7d4bd27d4..b4fa7d0db 100644
--- a/src/test/rustdoc-gui/notable-trait.goml
+++ b/tests/rustdoc-gui/notable-trait.goml
@@ -123,40 +123,40 @@ assert-count: ("//*[@class='notable popover']", 0)
define-function: (
"check-colors",
(theme, header_color, content_color, type_color, trait_color),
- [
- ("goto", "file://" + |DOC_PATH| + "/test_docs/struct.NotableStructWithLongName.html"),
+ block {
+ goto: "file://" + |DOC_PATH| + "/test_docs/struct.NotableStructWithLongName.html"
// This is needed to ensure that the text color is computed.
- ("show-text", true),
+ show-text: true
// Setting the theme.
- ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
// We reload the page so the local storage settings are being used.
- ("reload"),
+ reload:
- ("move-cursor-to", "//*[@id='method.create_an_iterator_from_read']//*[@class='notable-traits']"),
- ("assert-count", (".notable.popover", 1)),
+ move-cursor-to: "//*[@id='method.create_an_iterator_from_read']//*[@class='notable-traits']"
+ assert-count: (".notable.popover", 1)
- ("assert-css", (
+ assert-css: (
".notable.popover h3",
{"color": |header_color|},
ALL,
- )),
- ("assert-css", (
+ )
+ assert-css: (
".notable.popover pre",
{"color": |content_color|},
ALL,
- )),
- ("assert-css", (
+ )
+ assert-css: (
".notable.popover pre a.struct",
{"color": |type_color|},
ALL,
- )),
- ("assert-css", (
+ )
+ assert-css: (
".notable.popover pre a.trait",
{"color": |trait_color|},
ALL,
- )),
- ]
+ )
+ },
)
call-function: (
diff --git a/src/test/rustdoc-gui/overflow-tooltip-information.goml b/tests/rustdoc-gui/overflow-tooltip-information.goml
index 09ad6cdd7..09ad6cdd7 100644
--- a/src/test/rustdoc-gui/overflow-tooltip-information.goml
+++ b/tests/rustdoc-gui/overflow-tooltip-information.goml
diff --git a/src/test/rustdoc-gui/pocket-menu.goml b/tests/rustdoc-gui/pocket-menu.goml
index c3649dc7b..c3649dc7b 100644
--- a/src/test/rustdoc-gui/pocket-menu.goml
+++ b/tests/rustdoc-gui/pocket-menu.goml
diff --git a/src/test/rustdoc-gui/run-on-hover.goml b/tests/rustdoc-gui/run-on-hover.goml
index 57d63049f..8dcb62c10 100644
--- a/src/test/rustdoc-gui/run-on-hover.goml
+++ b/tests/rustdoc-gui/run-on-hover.goml
@@ -8,27 +8,27 @@ show-text: true
define-function: (
"check-run-button",
(theme, color, background, hover_color, hover_background),
- [
- ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
- ("reload"),
- ("assert-css", (".test-arrow", {"visibility": "hidden"})),
- ("move-cursor-to", ".example-wrap"),
- ("assert-css", (".test-arrow", {
+ block {
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ assert-css: (".test-arrow", {"visibility": "hidden"})
+ move-cursor-to: ".example-wrap"
+ assert-css: (".test-arrow", {
"visibility": "visible",
"color": |color|,
"background-color": |background|,
"font-size": "22px",
"border-radius": "5px",
- })),
- ("move-cursor-to", ".test-arrow"),
- ("assert-css", (".test-arrow:hover", {
+ })
+ move-cursor-to: ".test-arrow"
+ assert-css: (".test-arrow:hover", {
"visibility": "visible",
"color": |hover_color|,
"background-color": |hover_background|,
"font-size": "22px",
"border-radius": "5px",
- })),
- ],
+ })
+ },
)
call-function: ("check-run-button", {
diff --git a/tests/rustdoc-gui/rust-logo.goml b/tests/rustdoc-gui/rust-logo.goml
new file mode 100644
index 000000000..2d15e8b96
--- /dev/null
+++ b/tests/rustdoc-gui/rust-logo.goml
@@ -0,0 +1,58 @@
+// This test ensures that the correct style is applied to the rust logo in the sidebar.
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+
+define-function: (
+ "check-logo",
+ (theme, filter),
+ block {
+ // Going to the doc page.
+ goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+ // Changing theme.
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ assert-css: (".rust-logo", {"filter": |filter|})
+ // Going to the source code page.
+ goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
+ // Changing theme (since it's local files, the local storage works by folder).
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ assert-css: (".rust-logo", {"filter": |filter|})
+ // Now we check that the non-rust logos don't have a CSS filter set.
+ goto: "file://" + |DOC_PATH| + "/huge_logo/index.html"
+ // Changing theme on the new page (again...).
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ // Check there is no rust logo
+ assert-false: ".rust-logo"
+ // Check there is no filter.
+ assert-css: (".sidebar .logo-container img", {"filter": "none"})
+ },
+)
+
+call-function: (
+ "check-logo",
+ {
+ "theme": "ayu",
+ "filter": "drop-shadow(rgb(255, 255, 255) 1px 0px 0px) " +
+ "drop-shadow(rgb(255, 255, 255) 0px 1px 0px) " +
+ "drop-shadow(rgb(255, 255, 255) -1px 0px 0px) " +
+ "drop-shadow(rgb(255, 255, 255) 0px -1px 0px)",
+ },
+)
+call-function: (
+ "check-logo",
+ {
+ "theme": "dark",
+ "filter": "drop-shadow(rgb(255, 255, 255) 1px 0px 0px) " +
+ "drop-shadow(rgb(255, 255, 255) 0px 1px 0px) " +
+ "drop-shadow(rgb(255, 255, 255) -1px 0px 0px) " +
+ "drop-shadow(rgb(255, 255, 255) 0px -1px 0px)",
+ },
+)
+call-function: (
+ "check-logo",
+ {
+ "theme": "light",
+ "filter": "none",
+ },
+)
diff --git a/src/test/rustdoc-gui/scrape-examples-button-focus.goml b/tests/rustdoc-gui/scrape-examples-button-focus.goml
index bba518db0..1b5c3a0d2 100644
--- a/src/test/rustdoc-gui/scrape-examples-button-focus.goml
+++ b/tests/rustdoc-gui/scrape-examples-button-focus.goml
@@ -1,3 +1,5 @@
+// This test ensures that the scraped examples buttons are working as expecting
+// when 'Enter' key is pressed when they're focused.
goto: "file://" + |DOC_PATH| + "/scrape_examples/fn.test.html"
// The next/prev buttons vertically scroll the code viewport between examples
@@ -5,25 +7,25 @@ store-property: (initialScrollTop, ".scraped-example-list > .scraped-example pre
focus: ".scraped-example-list > .scraped-example .next"
press-key: "Enter"
assert-property-false: (".scraped-example-list > .scraped-example pre", {
- "scrollTop": |initialScrollTop|
+ "scrollTop": |initialScrollTop|
})
focus: ".scraped-example-list > .scraped-example .prev"
press-key: "Enter"
assert-property: (".scraped-example-list > .scraped-example pre", {
- "scrollTop": |initialScrollTop|
+ "scrollTop": |initialScrollTop|
})
// The expand button increases the scrollHeight of the minimized code viewport
store-property: (smallOffsetHeight, ".scraped-example-list > .scraped-example pre", "offsetHeight")
assert-property-false: (".scraped-example-list > .scraped-example pre", {
- "scrollHeight": |smallOffsetHeight|
+ "scrollHeight": |smallOffsetHeight|
})
focus: ".scraped-example-list > .scraped-example .expand"
press-key: "Enter"
assert-property-false: (".scraped-example-list > .scraped-example pre", {
- "offsetHeight": |smallOffsetHeight|
+ "offsetHeight": |smallOffsetHeight|
})
store-property: (fullOffsetHeight, ".scraped-example-list > .scraped-example pre", "offsetHeight")
assert-property: (".scraped-example-list > .scraped-example pre", {
- "scrollHeight": |fullOffsetHeight|
+ "scrollHeight": |fullOffsetHeight|
})
diff --git a/tests/rustdoc-gui/scrape-examples-color.goml b/tests/rustdoc-gui/scrape-examples-color.goml
new file mode 100644
index 000000000..40f31b277
--- /dev/null
+++ b/tests/rustdoc-gui/scrape-examples-color.goml
@@ -0,0 +1,60 @@
+// Check that scrape example code blocks have the expected colors.
+goto: "file://" + |DOC_PATH| + "/scrape_examples/fn.test_many.html"
+show-text: true
+
+define-function: (
+ "check-colors",
+ (theme, highlight, highlight_focus, help_border, help_color, help_hover_border,
+ help_hover_color),
+ block {
+ local-storage: { "rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false", }
+ reload:
+ wait-for: ".more-examples-toggle"
+ assert-css: (".scraped-example .example-wrap .rust span.highlight:not(.focus)", {
+ "background-color": |highlight|,
+ }, ALL)
+ assert-css: (".scraped-example .example-wrap .rust span.highlight.focus", {
+ "background-color": |highlight_focus|,
+ }, ALL)
+
+ assert-css: (".scraped-example-list .scrape-help", {
+ "border-color": |help_border|,
+ "color": |help_color|,
+ })
+ move-cursor-to: ".scraped-example-list .scrape-help"
+ assert-css: (".scraped-example-list .scrape-help:hover", {
+ "border-color": |help_hover_border|,
+ "color": |help_hover_color|,
+ })
+ // Moving the cursor to another item to not break next runs.
+ move-cursor-to: ".search-input"
+ }
+)
+
+call-function: ("check-colors", {
+ "theme": "ayu",
+ "highlight": "rgb(91, 59, 1)",
+ "highlight_focus": "rgb(124, 75, 15)",
+ "help_border": "rgb(170, 170, 170)",
+ "help_color": "rgb(238, 238, 238)",
+ "help_hover_border": "rgb(255, 255, 255)",
+ "help_hover_color": "rgb(255, 255, 255)",
+})
+call-function: ("check-colors", {
+ "theme": "dark",
+ "highlight": "rgb(91, 59, 1)",
+ "highlight_focus": "rgb(124, 75, 15)",
+ "help_border": "rgb(170, 170, 170)",
+ "help_color": "rgb(238, 238, 238)",
+ "help_hover_border": "rgb(255, 255, 255)",
+ "help_hover_color": "rgb(255, 255, 255)",
+})
+call-function: ("check-colors", {
+ "theme": "light",
+ "highlight": "rgb(252, 255, 214)",
+ "highlight_focus": "rgb(246, 253, 176)",
+ "help_border": "rgb(85, 85, 85)",
+ "help_color": "rgb(51, 51, 51)",
+ "help_hover_border": "rgb(0, 0, 0)",
+ "help_hover_color": "rgb(0, 0, 0)",
+})
diff --git a/src/test/rustdoc-gui/scrape-examples-fonts.goml b/tests/rustdoc-gui/scrape-examples-fonts.goml
index b7d7f4ccb..142f337cb 100644
--- a/src/test/rustdoc-gui/scrape-examples-fonts.goml
+++ b/tests/rustdoc-gui/scrape-examples-fonts.goml
@@ -1,3 +1,4 @@
+// This test ensures that the correct font is used in scraped examples.
goto: "file://" + |DOC_PATH| + "/scrape_examples/fn.test_many.html"
store-value: (font, '"Fira Sans", Arial, NanumBarunGothic, sans-serif')
diff --git a/tests/rustdoc-gui/scrape-examples-layout.goml b/tests/rustdoc-gui/scrape-examples-layout.goml
new file mode 100644
index 000000000..95102528e
--- /dev/null
+++ b/tests/rustdoc-gui/scrape-examples-layout.goml
@@ -0,0 +1,49 @@
+// Check that the line number column has the correct layout.
+goto: "file://" + |DOC_PATH| + "/scrape_examples/fn.test_many.html"
+
+// Check that it's not zero.
+assert-property-false: (
+ ".more-scraped-examples .scraped-example .code-wrapper .src-line-numbers",
+ {"clientWidth": "0"}
+)
+
+// Check that examples with very long lines have the same width as ones that don't.
+store-property: (
+ clientWidth,
+ ".more-scraped-examples .scraped-example:nth-child(2) .code-wrapper .src-line-numbers",
+ "clientWidth"
+)
+
+assert-property: (
+ ".more-scraped-examples .scraped-example:nth-child(3) .code-wrapper .src-line-numbers",
+ {"clientWidth": |clientWidth|}
+)
+
+assert-property: (
+ ".more-scraped-examples .scraped-example:nth-child(4) .code-wrapper .src-line-numbers",
+ {"clientWidth": |clientWidth|}
+)
+
+assert-property: (
+ ".more-scraped-examples .scraped-example:nth-child(5) .code-wrapper .src-line-numbers",
+ {"clientWidth": |clientWidth|}
+)
+
+assert-property: (
+ ".more-scraped-examples .scraped-example:nth-child(6) .code-wrapper .src-line-numbers",
+ {"clientWidth": |clientWidth|}
+)
+
+// Check that for both mobile and desktop sizes, the buttons in scraped examples are displayed
+// correctly.
+
+store-value: (offset_y, 4)
+
+// First with desktop
+assert-position: (".scraped-example .code-wrapper", {"y": 255})
+assert-position: (".scraped-example .code-wrapper .prev", {"y": 255 + |offset_y|})
+
+// Then with mobile
+size: (600, 600)
+assert-position: (".scraped-example .code-wrapper", {"y": 314})
+assert-position: (".scraped-example .code-wrapper .prev", {"y": 314 + |offset_y|})
diff --git a/tests/rustdoc-gui/scrape-examples-toggle.goml b/tests/rustdoc-gui/scrape-examples-toggle.goml
new file mode 100644
index 000000000..2d5df6a5d
--- /dev/null
+++ b/tests/rustdoc-gui/scrape-examples-toggle.goml
@@ -0,0 +1,51 @@
+// This tests checks that the "scraped examples" toggle is working as expected.
+goto: "file://" + |DOC_PATH| + "/scrape_examples/fn.test_many.html"
+
+// Checking the color of the toggle line.
+show-text: true
+define-function: (
+ "check-color",
+ (theme, toggle_line_color, toggle_line_hover_color),
+ block {
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+
+ // Clicking "More examples..." will open additional examples
+ assert-attribute-false: (".more-examples-toggle", {"open": ""})
+ click: ".more-examples-toggle"
+ assert-attribute: (".more-examples-toggle", {"open": ""})
+
+ assert-css: (".toggle-line-inner", {"background-color": |toggle_line_color|}, ALL)
+ move-cursor-to: ".toggle-line"
+ assert-css: (
+ ".toggle-line:hover .toggle-line-inner",
+ {"background-color": |toggle_line_hover_color|},
+ )
+ // Moving cursor away from the toggle line to prevent disrupting next test.
+ move-cursor-to: ".search-input"
+ },
+)
+
+call-function: ("check-color", {
+ "theme": "ayu",
+ "toggle_line_color": "rgb(153, 153, 153)",
+ "toggle_line_hover_color": "rgb(197, 197, 197)",
+})
+call-function: ("check-color", {
+ "theme": "dark",
+ "toggle_line_color": "rgb(153, 153, 153)",
+ "toggle_line_hover_color": "rgb(197, 197, 197)",
+})
+call-function: ("check-color", {
+ "theme": "light",
+ "toggle_line_color": "rgb(204, 204, 204)",
+ "toggle_line_hover_color": "rgb(153, 153, 153)",
+})
+
+// Toggling all docs will close additional examples
+click: "#toggle-all-docs"
+assert-attribute-false: (".more-examples-toggle", {"open": ""})
+
+// After re-opening the docs, the additional examples should stay closed
+click: "#toggle-all-docs"
+assert-attribute-false: (".more-examples-toggle", {"open": ""})
diff --git a/src/test/rustdoc-gui/search-filter.goml b/tests/rustdoc-gui/search-filter.goml
index e0228694e..5bc6e87d6 100644
--- a/src/test/rustdoc-gui/search-filter.goml
+++ b/tests/rustdoc-gui/search-filter.goml
@@ -5,7 +5,7 @@ write: (".search-input", "test")
// To be SURE that the search will be run.
press-key: 'Enter'
// Waiting for the search results to appear...
-wait-for: "#titles"
+wait-for: "#search-tabs"
assert-text: ("#results .externcrate", "test_docs")
wait-for: "#crate-search"
@@ -15,9 +15,10 @@ click: "#crate-search"
press-key: "ArrowDown"
press-key: "ArrowDown"
press-key: "ArrowDown"
+press-key: "ArrowDown"
press-key: "Enter"
// Waiting for the search results to appear...
-wait-for: "#titles"
+wait-for: "#search-tabs"
assert-document-property: ({"URL": "&filter-crate="}, CONTAINS)
// We check that there is no more "test_docs" appearing.
assert-false: "#results .externcrate"
@@ -39,9 +40,10 @@ click: "#crate-search"
press-key: "ArrowUp"
press-key: "ArrowUp"
press-key: "ArrowUp"
+press-key: "ArrowUp"
press-key: "Enter"
// Waiting for the search results to appear...
-wait-for: "#titles"
+wait-for: "#search-tabs"
assert-property: ("#crate-search", {"value": "all crates"})
// Checking that the URL parameter is taken into account for crate filtering.
diff --git a/src/test/rustdoc-gui/search-form-elements.goml b/tests/rustdoc-gui/search-form-elements.goml
index 542db348c..542db348c 100644
--- a/src/test/rustdoc-gui/search-form-elements.goml
+++ b/tests/rustdoc-gui/search-form-elements.goml
diff --git a/src/test/rustdoc-gui/search-input-mobile.goml b/tests/rustdoc-gui/search-input-mobile.goml
index ce0cef77c..ce0cef77c 100644
--- a/src/test/rustdoc-gui/search-input-mobile.goml
+++ b/tests/rustdoc-gui/search-input-mobile.goml
diff --git a/src/test/rustdoc-gui/search-keyboard.goml b/tests/rustdoc-gui/search-keyboard.goml
index be642fc49..ed975664c 100644
--- a/src/test/rustdoc-gui/search-keyboard.goml
+++ b/tests/rustdoc-gui/search-keyboard.goml
@@ -5,7 +5,7 @@ write: (".search-input", "Foo")
// To be SURE that the search will be run.
press-key: 'Enter'
// Waiting for the search results to appear...
-wait-for: "#titles"
+wait-for: "#search-tabs"
// Now use the keyboard commands to switch to the third result.
press-key: "ArrowDown"
diff --git a/tests/rustdoc-gui/search-no-result.goml b/tests/rustdoc-gui/search-no-result.goml
new file mode 100644
index 000000000..b76a44fa9
--- /dev/null
+++ b/tests/rustdoc-gui/search-no-result.goml
@@ -0,0 +1,36 @@
+// The goal of this test is to check the color of the "no result" links.
+goto: "file://" + |DOC_PATH| + "/lib2/index.html?search=sdkfskjfsdks"
+show-text: true
+
+define-function: (
+ "check-no-result",
+ (theme, link, link_hover),
+ block {
+ // Changing theme.
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ wait-for: "#results"
+ assert: ".search-failed.active"
+ assert-css: ("#results a", {"color": |link|}, ALL)
+ move-cursor-to: "#results a"
+ assert-css: ("#results a:hover", {"color": |link_hover|})
+ // Moving the cursor to some other place to not create issues with next function run.
+ move-cursor-to: ".search-input"
+ },
+)
+
+call-function: ("check-no-result", {
+ "theme": "ayu",
+ "link": "rgb(57, 175, 215)",
+ "link_hover": "rgb(57, 175, 215)",
+})
+call-function: ("check-no-result", {
+ "theme": "dark",
+ "link": "rgb(210, 153, 29)",
+ "link_hover": "rgb(210, 153, 29)",
+})
+call-function: ("check-no-result", {
+ "theme": "light",
+ "link": "rgb(56, 115, 173)",
+ "link_hover": "rgb(56, 115, 173)",
+})
diff --git a/src/test/rustdoc-gui/search-reexport.goml b/tests/rustdoc-gui/search-reexport.goml
index dd19f03bd..dd19f03bd 100644
--- a/src/test/rustdoc-gui/search-reexport.goml
+++ b/tests/rustdoc-gui/search-reexport.goml
diff --git a/src/test/rustdoc-gui/search-result-color.goml b/tests/rustdoc-gui/search-result-color.goml
index dde43b1c9..d6d54ec4b 100644
--- a/src/test/rustdoc-gui/search-result-color.goml
+++ b/tests/rustdoc-gui/search-result-color.goml
@@ -3,53 +3,32 @@
define-function: (
"check-result-color",
(result_kind, color, hover_color),
- [
- (
- "assert-css",
- (".result-" + |result_kind| + " ." + |result_kind|, {"color": |color|}, ALL),
- ),
- (
- "assert-css",
- (
- ".result-" + |result_kind|,
- {"color": |entry_color|, "background-color": |background_color|},
- ),
- ),
- (
- "move-cursor-to",
+ block {
+ assert-css: (".result-" + |result_kind| + " ." + |result_kind|, {"color": |color|}, ALL)
+ assert-css: (
".result-" + |result_kind|,
- ),
- (
- "assert-css",
- (
- ".result-" + |result_kind| + ":hover",
- {"color": |hover_entry_color|, "background-color": |hover_background_color|},
- ),
- ),
- (
- "assert-css",
- (".result-" + |result_kind| + ":hover ." + |result_kind|, {"color": |hover_color|}),
- ),
- (
- "move-cursor-to",
- ".search-input",
- ),
- (
- "focus",
- ".result-" + |result_kind|,
- ),
- (
- "assert-css",
- (
- ".result-" + |result_kind| + ":focus",
- {"color": |hover_entry_color|, "background-color": |hover_background_color|},
- ),
- ),
- (
- "assert-css",
- (".result-" + |result_kind| + ":focus ." + |result_kind|, {"color": |hover_color|}),
- ),
- ],
+ {"color": |entry_color|, "background-color": |background_color|},
+ )
+ move-cursor-to: ".result-" + |result_kind|
+ assert-css: (
+ ".result-" + |result_kind| + ":hover",
+ {"color": |hover_entry_color|, "background-color": |hover_background_color|},
+ )
+ assert-css: (
+ ".result-" + |result_kind| + ":hover ." + |result_kind|,
+ {"color": |hover_color|},
+ )
+ move-cursor-to: ".search-input"
+ focus: ".result-" + |result_kind|
+ assert-css: (
+ ".result-" + |result_kind| + ":focus",
+ {"color": |hover_entry_color|, "background-color": |hover_background_color|},
+ )
+ assert-css: (
+ ".result-" + |result_kind| + ":focus ." + |result_kind|,
+ {"color": |hover_color|},
+ )
+ },
)
goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=coo"
@@ -65,7 +44,12 @@ local-storage: {
reload:
// Waiting for the search results to appear...
-wait-for: "#titles"
+wait-for: "#search-tabs"
+assert-css: (
+ "#search-tabs > button > .count",
+ {"color": "rgb(136, 136, 136)"},
+ ALL,
+)
assert-css: (
"//*[@class='desc'][text()='Just a normal struct.']",
{"color": "rgb(197, 197, 197)"},
@@ -177,7 +161,12 @@ local-storage: {
reload:
// Waiting for the search results to appear...
-wait-for: "#titles"
+wait-for: "#search-tabs"
+assert-css: (
+ "#search-tabs > button > .count",
+ {"color": "rgb(136, 136, 136)"},
+ ALL,
+)
assert-css: (
"//*[@class='desc'][text()='Just a normal struct.']",
{"color": "rgb(221, 221, 221)"},
@@ -274,7 +263,12 @@ local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"}
reload:
// Waiting for the search results to appear...
-wait-for: "#titles"
+wait-for: "#search-tabs"
+assert-css: (
+ "#search-tabs > button > .count",
+ {"color": "rgb(136, 136, 136)"},
+ ALL,
+)
assert-css: (
"//*[@class='desc'][text()='Just a normal struct.']",
{"color": "rgb(0, 0, 0)"},
@@ -374,20 +368,20 @@ show-text: true
define-function: (
"check-alias",
(theme, alias, grey),
- [
- ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
- ("reload"),
- ("write", (".search-input", "thisisanalias")),
+ block {
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ write: (".search-input", "thisisanalias")
// To be SURE that the search will be run.
- ("press-key", 'Enter'),
+ press-key: 'Enter'
// Waiting for the search results to appear...
- ("wait-for", "#titles"),
+ wait-for: "#search-tabs"
// Checking that the colors for the alias element are the ones expected.
- ("assert-css", (".result-name > .alias", {"color": |alias|})),
- ("assert-css", (".result-name > .alias > .grey", {"color": |grey|})),
+ assert-css: (".result-name > .alias", {"color": |alias|})
+ assert-css: (".result-name > .alias > .grey", {"color": |grey|})
// Leave the search results to prevent reloading with an already filled search input.
- ("press-key", "Escape"),
- ],
+ press-key: "Escape"
+ },
)
call-function: ("check-alias", {
diff --git a/src/test/rustdoc-gui/search-result-description.goml b/tests/rustdoc-gui/search-result-description.goml
index 53a335b63..9fa210804 100644
--- a/src/test/rustdoc-gui/search-result-description.goml
+++ b/tests/rustdoc-gui/search-result-description.goml
@@ -1,5 +1,5 @@
// This test is to ensure that the codeblocks are correctly rendered in the search results.
goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=some_more_function"
// Waiting for the search results to appear...
-wait-for: "#titles"
+wait-for: "#search-tabs"
assert-text: (".search-results .desc code", "format!")
diff --git a/src/test/rustdoc-gui/search-result-display.goml b/tests/rustdoc-gui/search-result-display.goml
index 13a5e4c71..43e608228 100644
--- a/src/test/rustdoc-gui/search-result-display.goml
+++ b/tests/rustdoc-gui/search-result-display.goml
@@ -42,17 +42,17 @@ show-text: true
define-function: (
"check-filter",
(theme, border, filter, hover_border, hover_filter),
- [
- ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
- ("reload"),
- ("wait-for", "#crate-search"),
- ("assert-css", ("#crate-search", {"border": "1px solid " + |border|})),
- ("assert-css", ("#crate-search-div::after", {"filter": |filter|})),
- ("move-cursor-to", "#crate-search"),
- ("assert-css", ("#crate-search", {"border": "1px solid " + |hover_border|})),
- ("assert-css", ("#crate-search-div::after", {"filter": |hover_filter|})),
- ("move-cursor-to", ".search-input"),
- ],
+ block {
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ wait-for: "#crate-search"
+ assert-css: ("#crate-search", {"border": "1px solid " + |border|})
+ assert-css: ("#crate-search-div::after", {"filter": |filter|})
+ move-cursor-to: "#crate-search"
+ assert-css: ("#crate-search", {"border": "1px solid " + |hover_border|})
+ assert-css: ("#crate-search-div::after", {"filter": |hover_filter|})
+ move-cursor-to: ".search-input"
+ },
)
call-function: ("check-filter", {
diff --git a/src/test/rustdoc-gui/search-result-go-to-first.goml b/tests/rustdoc-gui/search-result-go-to-first.goml
index eeddf5ef6..f444baa6c 100644
--- a/src/test/rustdoc-gui/search-result-go-to-first.goml
+++ b/tests/rustdoc-gui/search-result-go-to-first.goml
@@ -3,17 +3,17 @@
// First, we check that the first page doesn't have the string we're looking for to ensure
// that the feature is changing page as expected.
goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
-assert-text-false: (".fqn", "Struct test_docs::Foo")
+assert-text-false: (".main-heading h1", "Struct test_docs::Foo")
// We now check that we land on the search result page if "go_to_first" isn't set.
goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=struct%3AFoo"
// Waiting for the search results to appear...
-wait-for: "#titles"
-assert-text-false: (".fqn", "Struct test_docs::Foo")
+wait-for: "#search-tabs"
+assert-text-false: (".main-heading h1", "Struct test_docs::Foo")
// Ensure that the search results are displayed, not the "normal" content.
assert-css: ("#main-content", {"display": "none"})
// Now we can check that the feature is working as expected!
goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=struct%3AFoo&go_to_first=true"
// Waiting for the page to load...
-wait-for-text: (".fqn", "Struct test_docs::Foo")
+wait-for-text: (".main-heading h1", "Struct test_docs::Foo")
diff --git a/src/test/rustdoc-gui/search-result-keyword.goml b/tests/rustdoc-gui/search-result-keyword.goml
index 66e63155a..8c3577d9f 100644
--- a/src/test/rustdoc-gui/search-result-keyword.goml
+++ b/tests/rustdoc-gui/search-result-keyword.goml
@@ -4,7 +4,7 @@ write: (".search-input", "CookieMonster")
// To be SURE that the search will be run.
press-key: 'Enter'
// Waiting for the search results to appear...
-wait-for: "#titles"
+wait-for: "#search-tabs"
// Note: The two next assert commands could be merged as one but readability would be
// less good.
//
diff --git a/tests/rustdoc-gui/search-tab-change-title-fn-sig.goml b/tests/rustdoc-gui/search-tab-change-title-fn-sig.goml
new file mode 100644
index 000000000..1433dc4d7
--- /dev/null
+++ b/tests/rustdoc-gui/search-tab-change-title-fn-sig.goml
@@ -0,0 +1,74 @@
+// Checks that the search tab results work correctly with function signature syntax
+// First, try a search-by-name
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+write: (".search-input", "Foo")
+// To be SURE that the search will be run.
+press-key: 'Enter'
+// Waiting for the search results to appear...
+wait-for: "#search-tabs"
+assert-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+assert-text: ("#search-tabs > button:nth-of-type(1)", "In Names", STARTS_WITH)
+assert: "input.search-input:focus"
+// Use left-right keys
+press-key: "ArrowDown"
+assert: "#results > .search-results.active > a:nth-of-type(1):focus"
+press-key: "ArrowRight"
+wait-for-attribute: ("#search-tabs > button:nth-of-type(2)", {"class": "selected"})
+press-key: "ArrowRight"
+wait-for-attribute: ("#search-tabs > button:nth-of-type(3)", {"class": "selected"})
+press-key: "ArrowRight"
+wait-for-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+press-key: "ArrowLeft"
+wait-for-attribute: ("#search-tabs > button:nth-of-type(3)", {"class": "selected"})
+
+// Now try search-by-return
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+write: (".search-input", "-> String")
+// To be SURE that the search will be run.
+press-key: 'Enter'
+// Waiting for the search results to appear...
+wait-for: "#search-tabs"
+assert-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+assert-text: ("#search-tabs > button:nth-of-type(1)", "In Function Return Types", STARTS_WITH)
+assert: "input.search-input:focus"
+// Use left-right keys
+press-key: "ArrowDown"
+assert: "#results > .search-results.active > a:nth-of-type(1):focus"
+press-key: "ArrowRight"
+wait-for-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+press-key: "ArrowRight"
+wait-for-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+press-key: "ArrowRight"
+wait-for-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+press-key: "ArrowLeft"
+wait-for-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+
+// Try with a search-by-return with no results
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+write: (".search-input", "-> Something")
+// To be SURE that the search will be run.
+press-key: 'Enter'
+// Waiting for the search results to appear...
+wait-for: "#search-tabs"
+assert-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+assert-text: ("#search-tabs > button:nth-of-type(1)", "In Function Return Types", STARTS_WITH)
+
+// Try with a search-by-parameter
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+write: (".search-input", "usize pattern")
+// To be SURE that the search will be run.
+press-key: 'Enter'
+// Waiting for the search results to appear...
+wait-for: "#search-tabs"
+assert-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+assert-text: ("#search-tabs > button:nth-of-type(1)", "In Function Parameters", STARTS_WITH)
+
+// Try with a search-by-parameter-and-return
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+write: (".search-input", "pattern -> str")
+// To be SURE that the search will be run.
+press-key: 'Enter'
+// Waiting for the search results to appear...
+wait-for: "#search-tabs"
+assert-attribute: ("#search-tabs > button:nth-of-type(1)", {"class": "selected"})
+assert-text: ("#search-tabs > button:nth-of-type(1)", "In Function Signatures", STARTS_WITH)
diff --git a/tests/rustdoc-gui/search-tab.goml b/tests/rustdoc-gui/search-tab.goml
new file mode 100644
index 000000000..36958f700
--- /dev/null
+++ b/tests/rustdoc-gui/search-tab.goml
@@ -0,0 +1,76 @@
+// Checking the colors of the search tab headers.
+goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html?search=something"
+show-text: true
+
+define-function: (
+ "check-colors",
+ (theme, background, background_selected, background_hover, border_bottom,
+ border_bottom_selected, border_bottom_hover, border_top, border_top_selected,
+ border_top_hover),
+ block {
+ // Setting the theme.
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+
+ // These two commands are used to be sure the search will be run.
+ focus: ".search-input"
+ press-key: "Enter"
+
+ wait-for: "#search-tabs"
+ assert-css: ("#search-tabs > button:not(.selected)", {
+ "background-color": |background|,
+ "border-bottom": |border_bottom|,
+ "border-top": |border_top|,
+ })
+ assert-css: ("#search-tabs > button.selected", {
+ "background-color": |background_selected|,
+ "border-bottom": |border_bottom_selected|,
+ "border-top": |border_top_selected|,
+ })
+ move-cursor-to: "#search-tabs > button:not(.selected)"
+ assert-css: ("#search-tabs > button:not(.selected):hover", {
+ "background-color": |background_hover|,
+ "border-bottom": |border_bottom_hover|,
+ "border-top": |border_top_hover|,
+ })
+ // To prevent disrupting next run of this function.
+ move-cursor-to: ".search-input"
+ },
+)
+
+call-function: ("check-colors", {
+ "theme": "ayu",
+ "background": "rgba(0, 0, 0, 0)",
+ "background_selected": "rgb(20, 25, 32)",
+ "background_hover": "rgba(0, 0, 0, 0)",
+ "border_bottom": "0px none rgb(197, 197, 197)",
+ "border_bottom_selected": "1px solid rgb(255, 180, 76)",
+ "border_bottom_hover": "1px solid rgba(242, 151, 24, 0.3)",
+ "border_top": "0px none rgb(197, 197, 197)",
+ "border_top_selected": "0px none rgb(197, 197, 197)",
+ "border_top_hover": "0px none rgb(197, 197, 197)",
+})
+call-function: ("check-colors", {
+ "theme": "dark",
+ "background": "rgb(37, 37, 37)",
+ "background_selected": "rgb(53, 53, 53)",
+ "background_hover": "rgb(53, 53, 53)",
+ "border_bottom": "0px none rgb(221, 221, 221)",
+ "border_bottom_selected": "0px none rgb(221, 221, 221)",
+ "border_bottom_hover": "0px none rgb(221, 221, 221)",
+ "border_top": "2px solid rgb(37, 37, 37)",
+ "border_top_selected": "2px solid rgb(0, 137, 255)",
+ "border_top_hover": "2px solid rgb(0, 137, 255)",
+})
+call-function: ("check-colors", {
+ "theme": "light",
+ "background": "rgb(230, 230, 230)",
+ "background_selected": "rgb(255, 255, 255)",
+ "background_hover": "rgb(255, 255, 255)",
+ "border_bottom": "0px none rgb(0, 0, 0)",
+ "border_bottom_selected": "0px none rgb(0, 0, 0)",
+ "border_bottom_hover": "0px none rgb(0, 0, 0)",
+ "border_top": "2px solid rgb(230, 230, 230)",
+ "border_top_selected": "2px solid rgb(0, 137, 255)",
+ "border_top_hover": "2px solid rgb(0, 137, 255)",
+})
diff --git a/src/test/rustdoc-gui/settings.goml b/tests/rustdoc-gui/settings.goml
index fc3beaa53..419cc5eba 100644
--- a/src/test/rustdoc-gui/settings.goml
+++ b/tests/rustdoc-gui/settings.goml
@@ -8,6 +8,10 @@ assert-false: "#settings"
click: "#settings-menu"
wait-for: "#settings"
assert-css: ("#settings", {"display": "block"})
+
+// Store the line margin to compare with the settings.html later.
+store-css: (setting_line_margin, ".setting-line", "margin")
+
// Let's close it by clicking on the same button.
click: "#settings-menu"
wait-for-css: ("#settings", {"display": "none"})
@@ -105,6 +109,33 @@ assert-css: (
"box-shadow": "rgb(33, 150, 243) 0px 0px 1px 1px",
},
)
+// Now we check the setting-name for radio buttons is on a different line than the label.
+compare-elements-position-near: (
+ "#theme .setting-name",
+ "#theme .choices",
+ {"x": 1}
+)
+compare-elements-position-near-false: (
+ "#theme .setting-name",
+ "#theme .choices",
+ {"y": 1}
+)
+// Now we check that the label positions are all on the same line.
+compare-elements-position-near: (
+ "#theme .choices #theme-light",
+ "#theme .choices #theme-dark",
+ {"y": 1}
+)
+compare-elements-position-near: (
+ "#theme .choices #theme-dark",
+ "#theme .choices #theme-ayu",
+ {"y": 1}
+)
+compare-elements-position-near: (
+ "#theme .choices #theme-ayu",
+ "#theme .choices #theme-system-preference",
+ {"y": 1}
+)
// First we check the "default" display for toggles.
assert-css: (
@@ -159,7 +190,7 @@ assert-text: ("#preferred-light-theme .setting-name", "Preferred light theme")
// We now check that clicking on the toggles' text is like clicking on the checkbox.
// To test it, we use the "Disable keyboard shortcuts".
local-storage: {"rustdoc-disable-shortcuts": "false"}
-click: ".setting-line:last-child .toggle .label"
+click: ".setting-line:last-child .settings-toggle .label"
assert-local-storage: {"rustdoc-disable-shortcuts": "true"}
// Make sure that "Disable keyboard shortcuts" actually took effect.
@@ -169,13 +200,32 @@ assert-false: "#help-button .popover"
wait-for-css: ("#settings-menu .popover", {"display": "block"})
// Now turn keyboard shortcuts back on, and see if they work.
-click: ".setting-line:last-child .toggle .label"
+click: ".setting-line:last-child .settings-toggle .label"
assert-local-storage: {"rustdoc-disable-shortcuts": "false"}
press-key: "Escape"
press-key: "?"
wait-for-css: ("#help-button .popover", {"display": "block"})
assert-css: ("#settings-menu .popover", {"display": "none"})
+// Now switch back to the settings popover, and make sure the keyboard
+// shortcut works when a check box is selected.
+click: "#settings-menu > a"
+wait-for-css: ("#settings-menu .popover", {"display": "block"})
+focus: "#auto-hide-large-items"
+press-key: "?"
+wait-for-css: ("#settings-menu .popover", {"display": "none"})
+wait-for-css: ("#help-button .popover", {"display": "block"})
+
+// Now switch back to the settings popover, and make sure the keyboard
+// shortcut works when a check box is selected.
+click: "#settings-menu > a"
+wait-for-css: ("#settings-menu .popover", {"display": "block"})
+wait-for-css: ("#help-button .popover", {"display": "none"})
+focus: "#theme-system-preference"
+press-key: "?"
+wait-for-css: ("#settings-menu .popover", {"display": "none"})
+wait-for-css: ("#help-button .popover", {"display": "block"})
+
// Now we go to the settings page to check that the CSS is loaded as expected.
goto: "file://" + |DOC_PATH| + "/settings.html"
wait-for: "#settings"
@@ -184,6 +234,9 @@ assert-css: (".setting-line", {"position": "relative"})
assert-attribute-false: ("#settings", {"class": "popover"}, CONTAINS)
compare-elements-position: (".sub form", "#settings", ("x"))
+// Check that setting-line has the same margin in this mode as in the popover.
+assert-css: (".setting-line", {"margin": |setting_line_margin|})
+
// We now check the display with JS disabled.
assert-false: "noscript section"
javascript: false
diff --git a/src/test/rustdoc-gui/shortcuts.goml b/tests/rustdoc-gui/shortcuts.goml
index 9068680d6..9068680d6 100644
--- a/src/test/rustdoc-gui/shortcuts.goml
+++ b/tests/rustdoc-gui/shortcuts.goml
diff --git a/src/test/rustdoc-gui/sidebar-links-color.goml b/tests/rustdoc-gui/sidebar-links-color.goml
index 7ef7ec90c..1d5fdb7a4 100644
--- a/src/test/rustdoc-gui/sidebar-links-color.goml
+++ b/tests/rustdoc-gui/sidebar-links-color.goml
@@ -12,80 +12,80 @@ define-function: (
trait_hover_background, fn, fn_hover, fn_hover_background, type, type_hover,
type_hover_background, keyword, keyword_hover, keyword_hover_background,
),
- [
- ("local-storage", { "rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false" }),
- ("reload"),
+ block {
+ local-storage: { "rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false" }
+ reload:
// Struct
- ("assert-css", (
+ assert-css: (
".sidebar .block.struct a:not(.current)",
{"color": |struct|, "background-color": "rgba(0, 0, 0, 0)"},
- )),
- ("move-cursor-to", ".sidebar .block.struct a:not(.current)"),
- ("assert-css", (
+ )
+ move-cursor-to: ".sidebar .block.struct a:not(.current)"
+ assert-css: (
".sidebar .block.struct a:hover",
{"color": |struct_hover|, "background-color": |struct_hover_background|},
- )),
+ )
// Enum
- ("assert-css", (
+ assert-css: (
".sidebar .block.enum a",
{"color": |enum|, "background-color": "rgba(0, 0, 0, 0)"},
- )),
- ("move-cursor-to", ".sidebar .block.enum a"),
- ("assert-css", (
+ )
+ move-cursor-to: ".sidebar .block.enum a"
+ assert-css: (
".sidebar .block.enum a:hover",
{"color": |enum_hover|, "background-color": |enum_hover_background|},
- )),
+ )
// Union
- ("assert-css", (
+ assert-css: (
".sidebar .block.union a",
{"color": |union|, "background-color": "rgba(0, 0, 0, 0)"},
- )),
- ("move-cursor-to", ".sidebar .block.union a"),
- ("assert-css", (
+ )
+ move-cursor-to: ".sidebar .block.union a"
+ assert-css: (
".sidebar .block.union a:hover",
{"color": |union_hover|, "background-color": |union_hover_background|},
- )),
+ )
// Trait
- ("assert-css", (
+ assert-css: (
".sidebar .block.trait a",
{"color": |trait|, "background-color": "rgba(0, 0, 0, 0)"},
- )),
- ("move-cursor-to", ".sidebar .block.trait a"),
- ("assert-css", (
+ )
+ move-cursor-to: ".sidebar .block.trait a"
+ assert-css: (
".sidebar .block.trait a:hover",
{"color": |trait_hover|, "background-color": |trait_hover_background|},
- )),
+ )
// Function
- ("assert-css", (
+ assert-css: (
".sidebar .block.fn a",
{"color": |fn|, "background-color": "rgba(0, 0, 0, 0)"},
- )),
- ("move-cursor-to", ".sidebar .block.fn a"),
- ("assert-css", (
+ )
+ move-cursor-to: ".sidebar .block.fn a"
+ assert-css: (
".sidebar .block.fn a:hover",
{"color": |fn_hover|, "background-color": |fn_hover_background|},
- )),
+ )
// Type definition
- ("assert-css", (
+ assert-css: (
".sidebar .block.type a",
{"color": |type|, "background-color": "rgba(0, 0, 0, 0)"},
- )),
- ("move-cursor-to", ".sidebar .block.type a"),
- ("assert-css", (
+ )
+ move-cursor-to: ".sidebar .block.type a"
+ assert-css: (
".sidebar .block.type a:hover",
{"color": |type_hover|, "background-color": |type_hover_background|},
- )),
+ )
// Keyword
- ("assert-css", (
+ assert-css: (
".sidebar .block.keyword a",
{"color": |keyword|, "background-color": "rgba(0, 0, 0, 0)"},
- )),
- ("move-cursor-to", ".sidebar .block.keyword a"),
- ("assert-css", (
+ )
+ move-cursor-to: ".sidebar .block.keyword a"
+ assert-css: (
".sidebar .block.keyword a:hover",
{"color": |keyword_hover|, "background-color": |keyword_hover_background|},
- )),
- ]
+ )
+ }
)
call-function: (
diff --git a/src/test/rustdoc-gui/sidebar-macro-reexport.goml b/tests/rustdoc-gui/sidebar-macro-reexport.goml
index b5c1b6a43..b5c1b6a43 100644
--- a/src/test/rustdoc-gui/sidebar-macro-reexport.goml
+++ b/tests/rustdoc-gui/sidebar-macro-reexport.goml
diff --git a/src/test/rustdoc-gui/sidebar-mobile-scroll.goml b/tests/rustdoc-gui/sidebar-mobile-scroll.goml
index 2449269b1..2449269b1 100644
--- a/src/test/rustdoc-gui/sidebar-mobile-scroll.goml
+++ b/tests/rustdoc-gui/sidebar-mobile-scroll.goml
diff --git a/src/test/rustdoc-gui/sidebar-mobile.goml b/tests/rustdoc-gui/sidebar-mobile.goml
index 38d01f7f6..d5f4b6196 100644
--- a/src/test/rustdoc-gui/sidebar-mobile.goml
+++ b/tests/rustdoc-gui/sidebar-mobile.goml
@@ -58,17 +58,17 @@ show-text: true
define-function: (
"check-colors",
(theme, color, background),
- [
- ("local-storage", {"rustdoc-use-system-theme": "false", "rustdoc-theme": |theme|}),
- ("reload"),
+ block {
+ local-storage: {"rustdoc-use-system-theme": "false", "rustdoc-theme": |theme|}
+ reload:
// Open the sidebar menu.
- ("click", ".sidebar-menu-toggle"),
- ("assert-css", (".sidebar", {
+ click: ".sidebar-menu-toggle"
+ assert-css: (".sidebar", {
"background-color": |background|,
"color": |color|,
- })),
- ],
+ })
+ },
)
call-function: ("check-colors", {
diff --git a/tests/rustdoc-gui/sidebar-source-code-display.goml b/tests/rustdoc-gui/sidebar-source-code-display.goml
new file mode 100644
index 000000000..f3eb8ff76
--- /dev/null
+++ b/tests/rustdoc-gui/sidebar-source-code-display.goml
@@ -0,0 +1,215 @@
+// This test ensures that the elements in the sidebar are displayed correctly.
+javascript: false
+goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
+// Since the javascript is disabled, there shouldn't be a toggle.
+assert-false: "#src-sidebar-toggle"
+wait-for-css: (".sidebar", {"display": "none"})
+
+// Let's retry with javascript enabled.
+javascript: true
+reload:
+wait-for: "#src-sidebar-toggle"
+assert-css: ("#src-sidebar-toggle", {"visibility": "visible"})
+assert-css: (".sidebar > *:not(#src-sidebar-toggle)", {"visibility": "hidden"})
+// Let's expand the sidebar now.
+click: "#src-sidebar-toggle"
+wait-for-css: ("#src-sidebar-toggle", {"visibility": "visible"})
+
+// We now check that opening the sidebar and clicking a link will leave it open.
+// The behavior here on desktop is different than the behavior on mobile,
+// but since the sidebar doesn't fill the entire screen here, it makes sense to have the
+// sidebar stay resident.
+wait-for-css: (".sidebar", {"width": "300px"})
+assert-local-storage: {"rustdoc-source-sidebar-show": "true"}
+click: ".sidebar a.selected"
+goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
+wait-for-css: (".sidebar", {"width": "300px"})
+assert-local-storage: {"rustdoc-source-sidebar-show": "true"}
+
+// Now we check the display of the sidebar items.
+show-text: true
+
+define-function: (
+ "check-colors",
+ (
+ theme, color, color_hover, background, background_hover, background_toggle,
+ background_toggle_hover,
+ ),
+ block {
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ wait-for-css: ("#src-sidebar-toggle", {"visibility": "visible"})
+ assert-css: (
+ "#source-sidebar details[open] > .files a.selected",
+ {"color": |color_hover|, "background-color": |background|},
+ )
+
+ // Without hover or focus.
+ assert-css: ("#src-sidebar-toggle > button", {"background-color": |background_toggle|})
+ // With focus.
+ focus: "#src-sidebar-toggle > button"
+ assert-css: (
+ "#src-sidebar-toggle > button:focus",
+ {"background-color": |background_toggle_hover|},
+ )
+ focus: ".search-input"
+ // With hover.
+ move-cursor-to: "#src-sidebar-toggle > button"
+ assert-css: (
+ "#src-sidebar-toggle > button:hover",
+ {"background-color": |background_toggle_hover|},
+ )
+
+ // Without hover or focus.
+ assert-css: (
+ "#source-sidebar details[open] > .files a:not(.selected)",
+ {"color": |color|, "background-color": |background_toggle|},
+ )
+ // With focus.
+ focus: "#source-sidebar details[open] > .files a:not(.selected)"
+ wait-for-css: (
+ "#source-sidebar details[open] > .files a:not(.selected):focus",
+ {"color": |color_hover|, "background-color": |background_hover|},
+ )
+ focus: ".search-input"
+ // With hover.
+ move-cursor-to: "#source-sidebar details[open] > .files a:not(.selected)"
+ assert-css: (
+ "#source-sidebar details[open] > .files a:not(.selected):hover",
+ {"color": |color_hover|, "background-color": |background_hover|},
+ )
+
+ // Without hover or focus.
+ assert-css: (
+ "#source-sidebar .dir-entry summary",
+ {"color": |color|, "background-color": |background_toggle|},
+ )
+ // With focus.
+ focus: "#source-sidebar .dir-entry summary"
+ wait-for-css: (
+ "#source-sidebar .dir-entry summary:focus",
+ {"color": |color_hover|, "background-color": |background_hover|},
+ )
+ focus: ".search-input"
+ // With hover.
+ move-cursor-to: "#source-sidebar .dir-entry summary"
+ assert-css: (
+ "#source-sidebar .dir-entry summary:hover",
+ {"color": |color_hover|, "background-color": |background_hover|},
+ )
+
+ // Without hover or focus.
+ assert-css: (
+ "#source-sidebar details[open] > .folders > details > summary",
+ {"color": |color|, "background-color": |background_toggle|},
+ )
+ // With focus.
+ focus: "#source-sidebar details[open] > .folders > details > summary"
+ wait-for-css: (
+ "#source-sidebar details[open] > .folders > details > summary:focus",
+ {"color": |color_hover|, "background-color": |background_hover|},
+ )
+ focus: ".search-input"
+ // With hover.
+ move-cursor-to: "#source-sidebar details[open] > .folders > details > summary"
+ assert-css: (
+ "#source-sidebar details[open] > .folders > details > summary:hover",
+ {"color": |color_hover|, "background-color": |background_hover|},
+ )
+ },
+)
+
+call-function: ("check-colors", {
+ "theme": "light",
+ "color": "rgb(0, 0, 0)",
+ "color_hover": "rgb(0, 0, 0)",
+ "background": "rgb(255, 255, 255)",
+ "background_hover": "rgb(224, 224, 224)",
+ "background_toggle": "rgba(0, 0, 0, 0)",
+ "background_toggle_hover": "rgb(224, 224, 224)",
+})
+call-function: ("check-colors", {
+ "theme": "dark",
+ "color": "rgb(221, 221, 221)",
+ "color_hover": "rgb(221, 221, 221)",
+ "background": "rgb(51, 51, 51)",
+ "background_hover": "rgb(68, 68, 68)",
+ "background_toggle": "rgba(0, 0, 0, 0)",
+ "background_toggle_hover": "rgb(103, 103, 103)",
+})
+call-function: ("check-colors", {
+ "theme": "ayu",
+ "color": "rgb(197, 197, 197)",
+ "color_hover": "rgb(255, 180, 76)",
+ "background": "rgb(20, 25, 31)",
+ "background_hover": "rgb(20, 25, 31)",
+ "background_toggle": "rgba(0, 0, 0, 0)",
+ "background_toggle_hover": "rgba(70, 70, 70, 0.33)",
+})
+
+// Now checking on mobile devices.
+size: (500, 700)
+reload:
+// Waiting for the sidebar to be displayed...
+wait-for-css: ("#src-sidebar-toggle", {"visibility": "visible"})
+
+// We now check it takes the full size of the display.
+assert-property: ("body", {"clientWidth": "500", "clientHeight": "700"})
+assert-property: (".sidebar", {"clientWidth": "500", "clientHeight": "700"})
+
+// We now check the display of the toggle once the sidebar is expanded.
+assert-property: ("#src-sidebar-toggle", {"clientWidth": "500", "clientHeight": "39"})
+assert-css: (
+ "#src-sidebar-toggle",
+ {
+ "border-top-width": "0px",
+ "border-right-width": "0px",
+ "border-left-width": "0px",
+ "border-bottom-width": "1px",
+ },
+)
+
+// We now check that the scroll position is kept when opening the sidebar.
+click: "#src-sidebar-toggle"
+wait-for-css: (".sidebar", {"left": "-1000px"})
+// We scroll to line 117 to change the scroll position.
+scroll-to: '//*[@id="117"]'
+assert-window-property: {"pageYOffset": "2542"}
+// Expanding the sidebar...
+click: "#src-sidebar-toggle"
+wait-for-css: (".sidebar", {"left": "0px"})
+click: "#src-sidebar-toggle"
+wait-for-css: (".sidebar", {"left": "-1000px"})
+// The "scrollTop" property should be the same.
+assert-window-property: {"pageYOffset": "2542"}
+
+// We now check that the scroll position is restored if the window is resized.
+size: (500, 700)
+click: "#src-sidebar-toggle"
+wait-for-css: ("#source-sidebar", {"visibility": "visible"})
+assert-window-property: {"pageYOffset": "0"}
+size: (900, 900)
+assert-window-property: {"pageYOffset": "2542"}
+size: (500, 700)
+click: "#src-sidebar-toggle"
+wait-for-css: ("#source-sidebar", {"visibility": "hidden"})
+
+// We now check that opening the sidebar and clicking a link will close it.
+// The behavior here on mobile is different than the behavior on desktop,
+// but common sense dictates that if you have a list of files that fills the entire screen, and
+// you click one of them, you probably want to actually see the file's contents, and not just
+// make it the current selection.
+click: "#src-sidebar-toggle"
+wait-for-css: ("#source-sidebar", {"visibility": "visible"})
+assert-local-storage: {"rustdoc-source-sidebar-show": "true"}
+click: ".sidebar a.selected"
+goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
+wait-for-css: ("#source-sidebar", {"visibility": "hidden"})
+assert-local-storage: {"rustdoc-source-sidebar-show": "false"}
+// Resize back to desktop size, to check that the sidebar doesn't spontaneously open.
+size: (1000, 1000)
+wait-for-css: ("#source-sidebar", {"visibility": "hidden"})
+assert-local-storage: {"rustdoc-source-sidebar-show": "false"}
+click: "#src-sidebar-toggle"
+wait-for-css: ("#source-sidebar", {"visibility": "visible"})
+assert-local-storage: {"rustdoc-source-sidebar-show": "true"}
diff --git a/tests/rustdoc-gui/sidebar-source-code.goml b/tests/rustdoc-gui/sidebar-source-code.goml
new file mode 100644
index 000000000..c8a29b58d
--- /dev/null
+++ b/tests/rustdoc-gui/sidebar-source-code.goml
@@ -0,0 +1,90 @@
+// The goal of this test is to ensure that the sidebar is working as expected in the source
+// code pages.
+goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
+show-text: true
+
+// First, check the sidebar colors.
+define-function: (
+ "check-colors",
+ (theme, color, background_color),
+ block {
+ local-storage: {
+ "rustdoc-theme": |theme|,
+ "rustdoc-use-system-theme": "false",
+ }
+ reload:
+ // Checking results colors.
+ assert-css: (".source .sidebar", {
+ "color": |color|,
+ "background-color": |background_color|
+ }, ALL)
+ },
+)
+
+call-function: (
+ "check-colors",
+ {
+ "theme": "ayu",
+ "color": "rgb(197, 197, 197)",
+ "background_color": "rgb(20, 25, 31)",
+ }
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "dark",
+ "color": "rgb(221, 221, 221)",
+ "background_color": "rgb(80, 80, 80)",
+ }
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "light",
+ "color": "rgb(0, 0, 0)",
+ "background_color": "rgb(245, 245, 245)",
+ }
+)
+
+// Next, desktop mode layout.
+size: (1100, 800)
+// We check that the sidebar isn't expanded and has the expected width.
+assert-css: ("nav.sidebar", {"width": "50px"})
+// We now click on the button to expand the sidebar.
+click: (10, 10)
+// We wait for the sidebar to be expanded.
+wait-for-css: (".source-sidebar-expanded nav.sidebar", {"width": "300px"})
+assert-css: (".source-sidebar-expanded nav.sidebar a", {"font-size": "14px"})
+// We collapse the sidebar.
+click: (10, 10)
+// We ensure that the class has been removed.
+wait-for: "html:not(.expanded)"
+assert: "nav.sidebar"
+
+// Checking that only the path to the current file is "open".
+goto: "file://" + |DOC_PATH| + "/src/lib2/another_folder/sub_mod/mod.rs.html"
+// First we expand the sidebar again.
+click: (10, 10)
+// We wait for the sidebar to be expanded.
+wait-for-css: (".source-sidebar-expanded nav.sidebar", {"width": "300px"})
+assert: "//*[@class='dir-entry' and @open]/*[text()='lib2']"
+assert: "//*[@class='dir-entry' and @open]/*[text()='another_folder']"
+assert: "//*[@class='dir-entry' and @open]/*[text()='sub_mod']"
+// Only "another_folder" should be "open" in "lib2".
+assert: "//*[@class='dir-entry' and not(@open)]/*[text()='another_mod']"
+// All other trees should be collapsed.
+assert-count: ("//*[@id='source-sidebar']/details[not(text()='lib2') and not(@open)]", 8)
+
+// We now switch to mobile mode.
+size: (600, 600)
+wait-for-css: (".source-sidebar-expanded nav.sidebar", {"left": "0px"})
+// We collapse the sidebar.
+click: (10, 10)
+// We check that the sidebar has been moved off-screen.
+assert-css: ("nav.sidebar", {"left": "-1000px"})
+// We ensure that the class has been removed.
+assert-false: ".source-sidebar-expanded"
+assert: "nav.sidebar"
+
+// Check that the topbar is not visible
+assert-false: ".mobile-topbar"
diff --git a/src/test/rustdoc-gui/sidebar.goml b/tests/rustdoc-gui/sidebar.goml
index 5058630f4..9c742be05 100644
--- a/src/test/rustdoc-gui/sidebar.goml
+++ b/tests/rustdoc-gui/sidebar.goml
@@ -2,6 +2,50 @@
goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
assert-property: (".sidebar", {"clientWidth": "200"})
show-text: true
+
+// First, check the sidebar colors.
+define-function: (
+ "check-colors",
+ (theme, color, background_color),
+ block {
+ local-storage: {
+ "rustdoc-theme": |theme|,
+ "rustdoc-use-system-theme": "false",
+ }
+ reload:
+ // Checking results colors.
+ assert-css: (".sidebar", {
+ "color": |color|,
+ "background-color": |background_color|
+ }, ALL)
+ },
+)
+
+call-function: (
+ "check-colors",
+ {
+ "theme": "ayu",
+ "color": "rgb(197, 197, 197)",
+ "background_color": "rgb(20, 25, 31)",
+ }
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "dark",
+ "color": "rgb(221, 221, 221)",
+ "background_color": "rgb(80, 80, 80)",
+ }
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "light",
+ "color": "rgb(0, 0, 0)",
+ "background_color": "rgb(245, 245, 245)",
+ }
+)
+
local-storage: {"rustdoc-theme": "light"}
// We reload the page so the local storage settings are being used.
reload:
@@ -104,4 +148,4 @@ assert-text: ("#toggle-all-docs", "[+]")
assert-property: (".sidebar", {"clientWidth": "200"})
click: "#toggle-all-docs"
assert-text: ("#toggle-all-docs", "[−]")
-assert-property: (".sidebar", {"clientWidth": "200"}) \ No newline at end of file
+assert-property: (".sidebar", {"clientWidth": "200"})
diff --git a/src/test/rustdoc-gui/source-anchor-scroll.goml b/tests/rustdoc-gui/source-anchor-scroll.goml
index ddfe0c3d1..ddfe0c3d1 100644
--- a/src/test/rustdoc-gui/source-anchor-scroll.goml
+++ b/tests/rustdoc-gui/source-anchor-scroll.goml
diff --git a/tests/rustdoc-gui/source-code-page.goml b/tests/rustdoc-gui/source-code-page.goml
new file mode 100644
index 000000000..7c35119e6
--- /dev/null
+++ b/tests/rustdoc-gui/source-code-page.goml
@@ -0,0 +1,218 @@
+// Checks that the interactions with the source code pages are working as expected.
+goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
+show-text: true
+// Check that we can click on the line number.
+click: ".src-line-numbers > a:nth-child(4)" // This is the anchor for line 4.
+// Ensure that the page URL was updated.
+assert-document-property: ({"URL": "lib.rs.html#4"}, ENDS_WITH)
+assert-attribute: ("//*[@id='4']", {"class": "line-highlighted"})
+// Ensure that the default style, with the right border, isn't used.
+assert-css: ("//*[@id='4']", {"border-right-width": "0px"})
+reload:
+assert-attribute: ("//*[@id='4']", {"class": "line-highlighted"})
+assert-css: ("//*[@id='4']", {"border-right-width": "0px"})
+// We now check that the good anchors are highlighted
+goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html#4-6"
+assert-attribute-false: (".src-line-numbers > a:nth-child(3)", {"class": "line-highlighted"})
+assert-attribute: (".src-line-numbers > a:nth-child(4)", {"class": "line-highlighted"})
+assert-attribute: (".src-line-numbers > a:nth-child(5)", {"class": "line-highlighted"})
+assert-attribute: (".src-line-numbers > a:nth-child(6)", {"class": "line-highlighted"})
+assert-attribute-false: (".src-line-numbers > a:nth-child(7)", {"class": "line-highlighted"})
+
+define-function: (
+ "check-colors",
+ (theme, color, background_color, highlight_color, highlight_background_color),
+ block {
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ assert-css: (
+ ".src-line-numbers > a:not(.line-highlighted)",
+ {"color": |color|, "background-color": |background_color|},
+ ALL,
+ )
+ assert-css: (
+ ".src-line-numbers > a.line-highlighted",
+ {"color": |highlight_color|, "background-color": |highlight_background_color|},
+ ALL,
+ )
+ },
+)
+
+call-function: ("check-colors", {
+ "theme": "ayu",
+ "color": "rgb(92, 103, 115)",
+ "background_color": "rgba(0, 0, 0, 0)",
+ "highlight_color": "rgb(112, 128, 144)",
+ "highlight_background_color": "rgba(255, 236, 164, 0.06)",
+})
+call-function: ("check-colors", {
+ "theme": "dark",
+ "color": "rgb(59, 145, 226)",
+ "background_color": "rgba(0, 0, 0, 0)",
+ "highlight_color": "rgb(59, 145, 226)",
+ "highlight_background_color": "rgb(10, 4, 47)",
+})
+call-function: ("check-colors", {
+ "theme": "light",
+ "color": "rgb(198, 126, 45)",
+ "background_color": "rgba(0, 0, 0, 0)",
+ "highlight_color": "rgb(198, 126, 45)",
+ "highlight_background_color": "rgb(253, 255, 211)",
+})
+
+// This is to ensure that the content is correctly align with the line numbers.
+compare-elements-position: ("//*[@id='1']", ".rust > code > span", ("y"))
+// Check the `href` property so that users can treat anchors as links.
+assert-property: (".src-line-numbers > a:nth-child(1)", {
+ "href": "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html#1"
+})
+assert-property: (".src-line-numbers > a:nth-child(2)", {
+ "href": "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html#2"
+})
+assert-property: (".src-line-numbers > a:nth-child(3)", {
+ "href": "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html#3"
+})
+assert-property: (".src-line-numbers > a:nth-child(4)", {
+ "href": "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html#4"
+})
+assert-property: (".src-line-numbers > a:nth-child(5)", {
+ "href": "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html#5"
+})
+assert-property: (".src-line-numbers > a:nth-child(6)", {
+ "href": "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html#6"
+})
+
+// Assert that the line numbers text is aligned to the right.
+assert-css: (".src-line-numbers", {"text-align": "right"})
+
+// Now let's check that clicking on something else than the line number doesn't
+// do anything (and certainly not add a `#NaN` to the URL!).
+goto: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
+// We use this assert-position to know where we will click.
+assert-position: ("//*[@id='1']", {"x": 88, "y": 112})
+// We click on the left of the "1" anchor but still in the "src-line-number" `<pre>`.
+click: (87, 103)
+assert-document-property: ({"URL": "/lib.rs.html"}, ENDS_WITH)
+
+// Checking the source code sidebar.
+
+// First we "open" it.
+click: "#src-sidebar-toggle"
+assert: ".source-sidebar-expanded"
+
+// We check that the first entry of the sidebar is collapsed
+assert-property: ("#source-sidebar details:first-of-type", {"open": "false"})
+assert-text: ("#source-sidebar details:first-of-type > summary", "http")
+// We now click on it.
+click: "#source-sidebar details:first-of-type > summary"
+assert-property: ("#source-sidebar details:first-of-type", {"open": "true"})
+
+// And now we collapse it again.
+click: "#source-sidebar details:first-of-type > summary"
+assert-property: ("#source-sidebar details:first-of-type", {"open": "false"})
+
+// And open it again, since it'll be the reference we use to check positions.
+click: "#source-sidebar details:first-of-type > summary"
+assert-property: ("#source-sidebar details:first-of-type", {"open": "true"})
+
+// Check the sidebar directory entries have a marker and spacing (desktop).
+store-property: (
+ link_height,
+ "#source-sidebar > details:first-of-type.dir-entry[open] > .files > a",
+ "offsetHeight"
+)
+define-function: (
+ "check-sidebar-dir-entry",
+ (x, y),
+ block {
+ assert: "details:first-of-type.dir-entry[open] > summary::marker"
+ assert-css: ("#source-sidebar > details:first-of-type.dir-entry", {"padding-left": "4px"})
+ // This check ensures that the summary is only one line.
+ assert-property: (
+ "#source-sidebar > details:first-of-type.dir-entry[open] > summary",
+ {"offsetHeight": |link_height|}
+ )
+ assert-position: (
+ "#source-sidebar > details:first-of-type.dir-entry[open] > summary",
+ {"x": |x|, "y": |y|}
+ )
+ assert-property: (
+ "#source-sidebar > details:first-of-type.dir-entry[open] > .files > a",
+ {"offsetHeight": |link_height|}
+ )
+ assert-position: (
+ "#source-sidebar > details:first-of-type.dir-entry[open] > .files > a",
+ // left margin
+ {"x": |x| + 27, "y": |y| + |link_height|}
+ )
+ }
+)
+store-property: (
+ source_sidebar_title_height,
+ "#source-sidebar > .title",
+ "offsetHeight"
+)
+store-property: (
+ source_sidebar_title_y,
+ "#source-sidebar > .title",
+ "offsetTop"
+)
+call-function: ("check-sidebar-dir-entry", {
+ "x": 0,
+ // border + margin = 6
+ "y": |source_sidebar_title_y| + |source_sidebar_title_height| + 6,
+})
+
+// Check the search form
+assert-css: ("nav.sub", {"flex-direction": "row"})
+// The goal of this test is to ensure the search input is perfectly centered
+// between the top of the page and the top of the gray code block.
+// To check this, we maintain the invariant:
+//
+// offsetTop[nav.sub form] = offsetTop[#main-content] - offsetHeight[nav.sub form] - offsetTop[nav.sub form]
+assert-property: ("nav.sub form", {"offsetTop": 28, "offsetHeight": 34})
+assert-property: ("#main-content", {"offsetTop": 90})
+// 28 = 90 - 34 - 28
+
+// Now do the same check on moderately-sized, tablet mobile.
+size: (700, 700)
+assert-css: ("nav.sub", {"flex-direction": "row"})
+assert-property: ("nav.sub form", {"offsetTop": 21, "offsetHeight": 34})
+assert-property: ("#main-content", {"offsetTop": 76})
+// 21 = 76 - 34 - 21
+
+// Check the sidebar directory entries have a marker and spacing (tablet).
+store-property: (
+ source_sidebar_title_height,
+ "#source-sidebar > .title",
+ "offsetHeight"
+)
+store-property: (
+ source_sidebar_title_y,
+ "#source-sidebar > .title",
+ "offsetTop"
+)
+call-function: ("check-sidebar-dir-entry", {
+ "x": 0,
+ "y": |source_sidebar_title_y| + |source_sidebar_title_height| + 6,
+})
+
+// Tiny, phone mobile gets a different display where the logo is stacked on top.
+size: (450, 700)
+assert-css: ("nav.sub", {"flex-direction": "column"})
+
+// Check the sidebar directory entries have a marker and spacing (phone).
+store-property: (
+ source_sidebar_title_height,
+ "#source-sidebar > .title",
+ "offsetHeight"
+)
+store-property: (
+ source_sidebar_title_y,
+ "#source-sidebar > .title",
+ "offsetTop"
+)
+call-function: ("check-sidebar-dir-entry", {
+ "x": 0,
+ "y": |source_sidebar_title_y| + |source_sidebar_title_height| + 6,
+})
diff --git a/src/test/rustdoc-gui/src-font-size.goml b/tests/rustdoc-gui/src-font-size.goml
index 9233f3744..9233f3744 100644
--- a/src/test/rustdoc-gui/src-font-size.goml
+++ b/tests/rustdoc-gui/src-font-size.goml
diff --git a/src/test/rustdoc-gui/src/huge_logo/Cargo.lock b/tests/rustdoc-gui/src/huge_logo/Cargo.lock
index 142805750..142805750 100644
--- a/src/test/rustdoc-gui/src/huge_logo/Cargo.lock
+++ b/tests/rustdoc-gui/src/huge_logo/Cargo.lock
diff --git a/src/test/rustdoc-gui/src/huge_logo/Cargo.toml b/tests/rustdoc-gui/src/huge_logo/Cargo.toml
index 3f10d09c8..3f10d09c8 100644
--- a/src/test/rustdoc-gui/src/huge_logo/Cargo.toml
+++ b/tests/rustdoc-gui/src/huge_logo/Cargo.toml
diff --git a/src/test/rustdoc-gui/src/huge_logo/src/lib.rs b/tests/rustdoc-gui/src/huge_logo/src/lib.rs
index ec137fb9a..ec137fb9a 100644
--- a/src/test/rustdoc-gui/src/huge_logo/src/lib.rs
+++ b/tests/rustdoc-gui/src/huge_logo/src/lib.rs
diff --git a/tests/rustdoc-gui/src/lib2/Cargo.lock b/tests/rustdoc-gui/src/lib2/Cargo.lock
new file mode 100644
index 000000000..425a3ae7e
--- /dev/null
+++ b/tests/rustdoc-gui/src/lib2/Cargo.lock
@@ -0,0 +1,22 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "http"
+version = "0.1.0"
+
+[[package]]
+name = "implementors"
+version = "0.1.0"
+dependencies = [
+ "http",
+]
+
+[[package]]
+name = "lib2"
+version = "0.1.0"
+dependencies = [
+ "http",
+ "implementors",
+]
diff --git a/tests/rustdoc-gui/src/lib2/Cargo.toml b/tests/rustdoc-gui/src/lib2/Cargo.toml
new file mode 100644
index 000000000..8bca77ff8
--- /dev/null
+++ b/tests/rustdoc-gui/src/lib2/Cargo.toml
@@ -0,0 +1,11 @@
+[package]
+name = "lib2"
+version = "0.1.0"
+edition = "2018"
+
+[lib]
+path = "lib.rs"
+
+[dependencies]
+implementors = { path = "./implementors" }
+http = { path = "./http" }
diff --git a/src/test/rustdoc-gui/src/lib2/another_folder/mod.rs b/tests/rustdoc-gui/src/lib2/another_folder/mod.rs
index ec9a20859..ec9a20859 100644
--- a/src/test/rustdoc-gui/src/lib2/another_folder/mod.rs
+++ b/tests/rustdoc-gui/src/lib2/another_folder/mod.rs
diff --git a/src/test/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs b/tests/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs
index f16722cf3..f16722cf3 100644
--- a/src/test/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs
+++ b/tests/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs
diff --git a/src/test/rustdoc-gui/src/lib2/another_mod/mod.rs b/tests/rustdoc-gui/src/lib2/another_mod/mod.rs
index 9a4f007a2..9a4f007a2 100644
--- a/src/test/rustdoc-gui/src/lib2/another_mod/mod.rs
+++ b/tests/rustdoc-gui/src/lib2/another_mod/mod.rs
diff --git a/tests/rustdoc-gui/src/lib2/http/Cargo.toml b/tests/rustdoc-gui/src/lib2/http/Cargo.toml
new file mode 100644
index 000000000..fa719efa5
--- /dev/null
+++ b/tests/rustdoc-gui/src/lib2/http/Cargo.toml
@@ -0,0 +1,7 @@
+[package]
+name = "http"
+version = "0.1.0"
+edition = "2018"
+
+[lib]
+path = "lib.rs"
diff --git a/tests/rustdoc-gui/src/lib2/http/lib.rs b/tests/rustdoc-gui/src/lib2/http/lib.rs
new file mode 100644
index 000000000..204e07494
--- /dev/null
+++ b/tests/rustdoc-gui/src/lib2/http/lib.rs
@@ -0,0 +1 @@
+pub trait HttpTrait {}
diff --git a/src/test/rustdoc-gui/src/lib2/implementors/Cargo.lock b/tests/rustdoc-gui/src/lib2/implementors/Cargo.lock
index cad99a991..cad99a991 100644
--- a/src/test/rustdoc-gui/src/lib2/implementors/Cargo.lock
+++ b/tests/rustdoc-gui/src/lib2/implementors/Cargo.lock
diff --git a/tests/rustdoc-gui/src/lib2/implementors/Cargo.toml b/tests/rustdoc-gui/src/lib2/implementors/Cargo.toml
new file mode 100644
index 000000000..9dafc43df
--- /dev/null
+++ b/tests/rustdoc-gui/src/lib2/implementors/Cargo.toml
@@ -0,0 +1,10 @@
+[package]
+name = "implementors"
+version = "0.1.0"
+edition = "2018"
+
+[lib]
+path = "lib.rs"
+
+[dependencies]
+http = { path = "../http/" }
diff --git a/tests/rustdoc-gui/src/lib2/implementors/lib.rs b/tests/rustdoc-gui/src/lib2/implementors/lib.rs
new file mode 100644
index 000000000..2842ac50d
--- /dev/null
+++ b/tests/rustdoc-gui/src/lib2/implementors/lib.rs
@@ -0,0 +1,22 @@
+pub trait Whatever {
+ type Foo;
+
+ fn method() {}
+}
+
+pub struct Struct;
+
+impl Whatever for Struct {
+ type Foo = u8;
+}
+
+impl http::HttpTrait for Struct {}
+
+mod traits {
+ pub trait TraitToReexport {
+ fn method() {}
+ }
+}
+
+#[doc(inline)]
+pub use traits::TraitToReexport;
diff --git a/tests/rustdoc-gui/src/lib2/lib.rs b/tests/rustdoc-gui/src/lib2/lib.rs
new file mode 100644
index 000000000..34e67d9d2
--- /dev/null
+++ b/tests/rustdoc-gui/src/lib2/lib.rs
@@ -0,0 +1,343 @@
+// ignore-tidy-linelength
+
+#![feature(doc_cfg)]
+
+pub mod another_folder;
+pub mod another_mod;
+
+pub mod module {
+ pub mod sub_module {
+ pub mod sub_sub_module {
+ pub fn foo() {}
+ }
+ pub fn bar() {}
+ }
+ pub fn whatever() {}
+}
+
+pub fn foobar() {}
+
+pub type Alias = u32;
+
+#[doc(cfg(feature = "foo-method"))]
+pub struct Foo {
+ pub x: Alias,
+}
+
+impl Foo {
+ /// Some documentation
+ /// # A Heading
+ pub fn a_method(&self) {}
+}
+
+#[doc(cfg(feature = "foo-method"))]
+#[deprecated = "Whatever [`Foo::a_method`](#method.a_method)"]
+pub trait Trait {
+ type X;
+ const Y: u32;
+
+ #[deprecated = "Whatever [`Foo`](#tadam)"]
+ fn foo() {}
+ fn fooo();
+}
+
+impl Trait for Foo {
+ type X = u32;
+ const Y: u32 = 0;
+
+ fn fooo() {}
+}
+
+impl implementors::Whatever for Foo {
+ type Foo = u32;
+}
+
+#[doc(inline)]
+pub use implementors::TraitToReexport;
+
+pub struct StructToImplOnReexport;
+
+impl TraitToReexport for StructToImplOnReexport {}
+
+pub mod sub_mod {
+ /// ```txt
+ /// aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ /// ```
+ ///
+ /// ```
+ /// aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ /// ```
+ pub struct Foo;
+}
+
+pub mod long_trait {
+ use std::ops::DerefMut;
+
+ pub trait ALongNameBecauseItHelpsTestingTheCurrentProblem:
+ DerefMut<Target = u32> + From<u128> + Send + Sync + AsRef<str> + 'static
+ {
+ }
+}
+
+pub mod long_table {
+ /// | This::is::a::kinda::very::long::header::number::one | This::is::a::kinda::very::long::header::number::two | This::is::a::kinda::very::long::header::number::one | This::is::a::kinda::very::long::header::number::two |
+ /// | ----------- | ----------- | ----------- | ----------- |
+ /// | This::is::a::kinda::long::content::number::one | This::is::a::kinda::very::long::content::number::two | This::is::a::kinda::long::content::number::one | This::is::a::kinda::very::long::content::number::two |
+ ///
+ /// I wanna sqdkfnqds f dsqf qds f dsqf dsq f dsq f qds f qds f qds f dsqq f dsf sqdf dsq fds f dsq f dq f ds fq sd fqds f dsq f sqd fsq df sd fdsqfqsd fdsq f dsq f dsqfd s dfq
+ pub struct Foo;
+
+ /// | This::is::a::kinda::very::long::header::number::one | This::is::a::kinda::very::long::header::number::two | This::is::a::kinda::very::long::header::number::one | This::is::a::kinda::very::long::header::number::two |
+ /// | ----------- | ----------- | ----------- | ----------- |
+ /// | This::is::a::kinda::long::content::number::one | This::is::a::kinda::very::long::content::number::two | This::is::a::kinda::long::content::number::one | This::is::a::kinda::very::long::content::number::two |
+ ///
+ /// I wanna sqdkfnqds f dsqf qds f dsqf dsq f dsq f qds f qds f qds f dsqq f dsf sqdf dsq fds f dsq f dq f ds fq sd fqds f dsq f sqd fsq df sd fdsqfqsd fdsq f dsq f dsqfd s dfq
+ impl Foo {
+ pub fn foo(&self) {}
+ }
+}
+
+pub mod summary_table {
+ /// | header 1 | header 2 |
+ /// | -------- | -------- |
+ /// | content | content |
+ pub struct Foo;
+}
+
+pub mod too_long {
+ pub type ReallyLongTypeNameLongLongLong =
+ Option<unsafe extern "C" fn(a: *const u8, b: *const u8) -> *const u8>;
+
+ pub const ReallyLongTypeNameLongLongLongConstBecauseWhyNotAConstRightGigaGigaSupraLong: u32 = 0;
+
+ /// This also has a really long doccomment. Lorem ipsum dolor sit amet,
+ /// consectetur adipiscing elit. Suspendisse id nibh malesuada, hendrerit
+ /// massa vel, tincidunt est. Nulla interdum, sem ac efficitur ornare, arcu
+ /// nunc dignissim nibh, at rutrum diam augue ac mauris. Fusce tincidunt et
+ /// ligula sed viverra. Aenean sed facilisis dui, non volutpat felis. In
+ /// vitae est dui. Donec felis nibh, blandit at nibh eu, tempor suscipit
+ /// nisl. Vestibulum ornare porta libero, eu faucibus purus iaculis ut. Ut
+ /// quis tincidunt nunc, in mollis purus. Nulla sed interdum quam. Nunc
+ /// vitae cursus ex.
+ pub struct SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName {
+ pub a: u32,
+ }
+
+ impl SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName {
+ /// ```
+ /// let x = SuperIncrediblyLongLongLongLongLongLongLongGigaGigaGigaMegaLongLongLongStructName { a: 0 };
+ /// ```
+ pub fn foo(&self) {}
+ }
+}
+
+pub struct HasALongTraitWithParams {}
+
+pub trait LongTraitWithParamsBananaBananaBanana<T> {}
+
+impl LongTraitWithParamsBananaBananaBanana<usize> for HasALongTraitWithParams {}
+
+#[doc(cfg(any(target_os = "android", target_os = "linux", target_os = "emscripten", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")))]
+pub struct LongItemInfo;
+
+pub trait SimpleTrait {}
+pub struct LongItemInfo2;
+
+/// Some docs.
+#[doc(cfg(any(target_os = "android", target_os = "linux", target_os = "emscripten", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")))]
+impl SimpleTrait for LongItemInfo2 {}
+
+pub struct WhereWhitespace<T>;
+
+impl<T> WhereWhitespace<T> {
+ pub fn new<F>(f: F) -> Self
+ where
+ F: FnMut() -> i32,
+ {}
+}
+
+impl<K, T> Whitespace<&K> for WhereWhitespace<T>
+where
+ K: std::fmt::Debug,
+{
+ type Output = WhereWhitespace<T>;
+ fn index(&self, _key: &K) -> &Self::Output {
+ self
+ }
+}
+
+pub trait Whitespace<Idx>
+where
+ Idx: ?Sized,
+{
+ type Output;
+ fn index(&self, index: Idx) -> &Self::Output;
+}
+
+pub struct ItemInfoAlignmentTest;
+
+impl ItemInfoAlignmentTest {
+ /// This method has docs
+ #[deprecated]
+ pub fn foo() {}
+ #[deprecated]
+ pub fn bar() {}
+}
+
+pub mod scroll_traits {
+ use std::iter::*;
+
+ /// Shamelessly (partially) copied from `std::iter::Iterator`.
+ /// It allows us to check that the scroll is working as expected on "hidden" items.
+ pub trait Iterator {
+ type Item;
+
+ fn next(&mut self) -> Option<Self::Item>;
+ fn size_hint(&self) -> (usize, Option<usize>);
+ fn count(self) -> usize
+ where
+ Self: Sized;
+ fn last(self) -> Option<Self::Item>
+ where
+ Self: Sized;
+ fn advance_by(&mut self, n: usize) -> Result<(), usize>;
+ fn nth(&mut self, n: usize) -> Option<Self::Item>;
+ fn step_by(self, step: usize) -> StepBy<Self>
+ where
+ Self: Sized;
+ fn chain<U>(self, other: U) -> Chain<Self, U::IntoIter>
+ where
+ Self: Sized,
+ U: IntoIterator<Item = Self::Item>;
+ fn zip<U>(self, other: U) -> Zip<Self, U::IntoIter>
+ where
+ Self: Sized,
+ U: IntoIterator;
+ fn intersperse(self, separator: Self::Item) -> Intersperse<Self>
+ where
+ Self: Sized,
+ Self::Item: Clone;
+ fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
+ where
+ Self: Sized,
+ G: FnMut() -> Self::Item;
+ fn map<B, F>(self, f: F) -> Map<Self, F>
+ where
+ Self: Sized,
+ F: FnMut(Self::Item) -> B;
+ fn for_each<F>(self, f: F)
+ where
+ Self: Sized,
+ F: FnMut(Self::Item);
+ fn filter<P>(self, predicate: P) -> Filter<Self, P>
+ where
+ Self: Sized,
+ P: FnMut(&Self::Item) -> bool;
+ fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
+ where
+ Self: Sized,
+ F: FnMut(Self::Item) -> Option<B>;
+ fn enumerate(self) -> Enumerate<Self>
+ where
+ Self: Sized;
+ fn peekable(self) -> Peekable<Self>
+ where
+ Self: Sized;
+ fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
+ where
+ Self: Sized,
+ P: FnMut(&Self::Item) -> bool;
+ fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
+ where
+ Self: Sized,
+ P: FnMut(&Self::Item) -> bool;
+ fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
+ where
+ Self: Sized,
+ P: FnMut(Self::Item) -> Option<B>;
+ fn skip(self, n: usize) -> Skip<Self>
+ where
+ Self: Sized;
+ fn take(self, n: usize) -> Take<Self>
+ where
+ Self: Sized;
+ fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
+ where
+ Self: Sized,
+ F: FnMut(&mut St, Self::Item) -> Option<B>;
+ fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
+ where
+ Self: Sized,
+ U: IntoIterator,
+ F: FnMut(Self::Item) -> U;
+ fn flatten(self) -> Flatten<Self>
+ where
+ Self: Sized,
+ Self::Item: IntoIterator;
+ fn fuse(self) -> Fuse<Self>
+ where
+ Self: Sized;
+ fn inspect<F>(self, f: F) -> Inspect<Self, F>
+ where
+ Self: Sized,
+ F: FnMut(&Self::Item);
+ fn by_ref(&mut self) -> &mut Self
+ where
+ Self: Sized;
+ fn collect<B: FromIterator<Self::Item>>(self) -> B
+ where
+ Self: Sized;
+ fn collect_into<E: Extend<Self::Item>>(self, collection: &mut E) -> &mut E
+ where
+ Self: Sized;
+ fn partition<B, F>(self, f: F) -> (B, B)
+ where
+ Self: Sized,
+ B: Default + Extend<Self::Item>,
+ F: FnMut(&Self::Item) -> bool;
+ fn partition_in_place<'a, T: 'a, P>(mut self, predicate: P) -> usize
+ where
+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,
+ P: FnMut(&T) -> bool;
+ fn is_partitioned<P>(mut self, mut predicate: P) -> bool
+ where
+ Self: Sized,
+ P: FnMut(Self::Item) -> bool;
+ fn fold<B, F>(mut self, init: B, mut f: F) -> B
+ where
+ Self: Sized,
+ F: FnMut(B, Self::Item) -> B;
+ fn reduce<F>(mut self, f: F) -> Option<Self::Item>
+ where
+ Self: Sized,
+ F: FnMut(Self::Item, Self::Item) -> Self::Item;
+ fn all<F>(&mut self, f: F) -> bool
+ where
+ Self: Sized,
+ F: FnMut(Self::Item) -> bool;
+ fn any<F>(&mut self, f: F) -> bool
+ where
+ Self: Sized,
+ F: FnMut(Self::Item) -> bool;
+ fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
+ where
+ Self: Sized,
+ P: FnMut(&Self::Item) -> bool;
+ fn find_map<B, F>(&mut self, f: F) -> Option<B>
+ where
+ Self: Sized,
+ F: FnMut(Self::Item) -> Option<B>;
+ fn position<P>(&mut self, predicate: P) -> Option<usize>
+ where
+ Self: Sized,
+ P: FnMut(Self::Item) -> bool;
+ /// We will scroll to "string" to ensure it scrolls as expected.
+ fn this_is_a_method_with_a_long_name_returning_something() -> String;
+ }
+
+ /// This one doesn't have hidden items (because there are too many) so we can also confirm that it
+ /// scrolls as expected.
+ pub trait TraitWithLongItemsName {
+ fn this_is_a_method_with_a_long_name_returning_something() -> String;
+ }
+}
diff --git a/src/test/rustdoc-gui/src/link_to_definition/Cargo.lock b/tests/rustdoc-gui/src/link_to_definition/Cargo.lock
index e4b4e52d0..e4b4e52d0 100644
--- a/src/test/rustdoc-gui/src/link_to_definition/Cargo.lock
+++ b/tests/rustdoc-gui/src/link_to_definition/Cargo.lock
diff --git a/src/test/rustdoc-gui/src/link_to_definition/Cargo.toml b/tests/rustdoc-gui/src/link_to_definition/Cargo.toml
index cdd294d74..cdd294d74 100644
--- a/src/test/rustdoc-gui/src/link_to_definition/Cargo.toml
+++ b/tests/rustdoc-gui/src/link_to_definition/Cargo.toml
diff --git a/src/test/rustdoc-gui/src/link_to_definition/lib.rs b/tests/rustdoc-gui/src/link_to_definition/lib.rs
index 419a9ccee..419a9ccee 100644
--- a/src/test/rustdoc-gui/src/link_to_definition/lib.rs
+++ b/tests/rustdoc-gui/src/link_to_definition/lib.rs
diff --git a/src/test/rustdoc-gui/src/scrape_examples/Cargo.lock b/tests/rustdoc-gui/src/scrape_examples/Cargo.lock
index 7cd6d0844..7cd6d0844 100644
--- a/src/test/rustdoc-gui/src/scrape_examples/Cargo.lock
+++ b/tests/rustdoc-gui/src/scrape_examples/Cargo.lock
diff --git a/src/test/rustdoc-gui/src/scrape_examples/Cargo.toml b/tests/rustdoc-gui/src/scrape_examples/Cargo.toml
index aea9b657d..aea9b657d 100644
--- a/src/test/rustdoc-gui/src/scrape_examples/Cargo.toml
+++ b/tests/rustdoc-gui/src/scrape_examples/Cargo.toml
diff --git a/tests/rustdoc-gui/src/scrape_examples/examples/check-many-1.rs b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-1.rs
new file mode 100644
index 000000000..81a48ac50
--- /dev/null
+++ b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-1.rs
@@ -0,0 +1,13 @@
+fn main() {
+ // all examples have same line count
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+}
diff --git a/tests/rustdoc-gui/src/scrape_examples/examples/check-many-2.rs b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-2.rs
new file mode 100644
index 000000000..c9fdf68d3
--- /dev/null
+++ b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-2.rs
@@ -0,0 +1,13 @@
+fn main() {
+ // ignore-tidy-linelength
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+}
diff --git a/tests/rustdoc-gui/src/scrape_examples/examples/check-many-3.rs b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-3.rs
new file mode 100644
index 000000000..c9fdf68d3
--- /dev/null
+++ b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-3.rs
@@ -0,0 +1,13 @@
+fn main() {
+ // ignore-tidy-linelength
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+ scrape_examples::test_many(); /* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. */
+}
diff --git a/tests/rustdoc-gui/src/scrape_examples/examples/check-many-4.rs b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-4.rs
new file mode 100644
index 000000000..81a48ac50
--- /dev/null
+++ b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-4.rs
@@ -0,0 +1,13 @@
+fn main() {
+ // all examples have same line count
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+}
diff --git a/tests/rustdoc-gui/src/scrape_examples/examples/check-many-5.rs b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-5.rs
new file mode 100644
index 000000000..81a48ac50
--- /dev/null
+++ b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-5.rs
@@ -0,0 +1,13 @@
+fn main() {
+ // all examples have same line count
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+}
diff --git a/tests/rustdoc-gui/src/scrape_examples/examples/check-many-6.rs b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-6.rs
new file mode 100644
index 000000000..81a48ac50
--- /dev/null
+++ b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-6.rs
@@ -0,0 +1,13 @@
+fn main() {
+ // all examples have same line count
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+}
diff --git a/tests/rustdoc-gui/src/scrape_examples/examples/check-many-7.rs b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-7.rs
new file mode 100644
index 000000000..81a48ac50
--- /dev/null
+++ b/tests/rustdoc-gui/src/scrape_examples/examples/check-many-7.rs
@@ -0,0 +1,13 @@
+fn main() {
+ // all examples have same line count
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+ scrape_examples::test_many();
+}
diff --git a/src/test/rustdoc-gui/src/scrape_examples/examples/check.rs b/tests/rustdoc-gui/src/scrape_examples/examples/check.rs
index b3f682fe4..b3f682fe4 100644
--- a/src/test/rustdoc-gui/src/scrape_examples/examples/check.rs
+++ b/tests/rustdoc-gui/src/scrape_examples/examples/check.rs
diff --git a/src/test/rustdoc-gui/src/scrape_examples/src/lib.rs b/tests/rustdoc-gui/src/scrape_examples/src/lib.rs
index 88b03cf26..88b03cf26 100644
--- a/src/test/rustdoc-gui/src/scrape_examples/src/lib.rs
+++ b/tests/rustdoc-gui/src/scrape_examples/src/lib.rs
diff --git a/src/test/rustdoc-gui/src/settings/.cargo/config.toml b/tests/rustdoc-gui/src/settings/.cargo/config.toml
index bbb8d11a2..bbb8d11a2 100644
--- a/src/test/rustdoc-gui/src/settings/.cargo/config.toml
+++ b/tests/rustdoc-gui/src/settings/.cargo/config.toml
diff --git a/src/test/rustdoc-gui/src/settings/Cargo.lock b/tests/rustdoc-gui/src/settings/Cargo.lock
index 6f0de1ac1..6f0de1ac1 100644
--- a/src/test/rustdoc-gui/src/settings/Cargo.lock
+++ b/tests/rustdoc-gui/src/settings/Cargo.lock
diff --git a/src/test/rustdoc-gui/src/settings/Cargo.toml b/tests/rustdoc-gui/src/settings/Cargo.toml
index c8a211a47..c8a211a47 100644
--- a/src/test/rustdoc-gui/src/settings/Cargo.toml
+++ b/tests/rustdoc-gui/src/settings/Cargo.toml
diff --git a/src/test/rustdoc-gui/src/settings/lib.rs b/tests/rustdoc-gui/src/settings/lib.rs
index b76b4321d..b76b4321d 100644
--- a/src/test/rustdoc-gui/src/settings/lib.rs
+++ b/tests/rustdoc-gui/src/settings/lib.rs
diff --git a/src/test/rustdoc-gui/src/staged_api/Cargo.lock b/tests/rustdoc-gui/src/staged_api/Cargo.lock
index 6e8eba56c..6e8eba56c 100644
--- a/src/test/rustdoc-gui/src/staged_api/Cargo.lock
+++ b/tests/rustdoc-gui/src/staged_api/Cargo.lock
diff --git a/src/test/rustdoc-gui/src/staged_api/Cargo.toml b/tests/rustdoc-gui/src/staged_api/Cargo.toml
index b231be6ee..b231be6ee 100644
--- a/src/test/rustdoc-gui/src/staged_api/Cargo.toml
+++ b/tests/rustdoc-gui/src/staged_api/Cargo.toml
diff --git a/src/test/rustdoc-gui/src/staged_api/lib.rs b/tests/rustdoc-gui/src/staged_api/lib.rs
index 5934593a8..5934593a8 100644
--- a/src/test/rustdoc-gui/src/staged_api/lib.rs
+++ b/tests/rustdoc-gui/src/staged_api/lib.rs
diff --git a/src/test/rustdoc-gui/src/test_docs/Cargo.lock b/tests/rustdoc-gui/src/test_docs/Cargo.lock
index 6b80f6e88..6b80f6e88 100644
--- a/src/test/rustdoc-gui/src/test_docs/Cargo.lock
+++ b/tests/rustdoc-gui/src/test_docs/Cargo.lock
diff --git a/src/test/rustdoc-gui/src/test_docs/Cargo.toml b/tests/rustdoc-gui/src/test_docs/Cargo.toml
index 8be819b76..8be819b76 100644
--- a/src/test/rustdoc-gui/src/test_docs/Cargo.toml
+++ b/tests/rustdoc-gui/src/test_docs/Cargo.toml
diff --git a/src/test/rustdoc-gui/src/test_docs/build.rs b/tests/rustdoc-gui/src/test_docs/build.rs
index 16c96ded9..16c96ded9 100644
--- a/src/test/rustdoc-gui/src/test_docs/build.rs
+++ b/tests/rustdoc-gui/src/test_docs/build.rs
diff --git a/tests/rustdoc-gui/src/test_docs/lib.rs b/tests/rustdoc-gui/src/test_docs/lib.rs
new file mode 100644
index 000000000..512504396
--- /dev/null
+++ b/tests/rustdoc-gui/src/test_docs/lib.rs
@@ -0,0 +1,476 @@
+//! The point of this crate is to be able to have enough different "kinds" of
+//! documentation generated so we can test each different features.
+#![doc(html_playground_url="https://play.rust-lang.org/")]
+
+#![crate_name = "test_docs"]
+#![feature(rustdoc_internals)]
+#![feature(doc_cfg)]
+#![feature(associated_type_defaults)]
+
+/*!
+Enable the feature <span class="stab portability"><code>some-feature</code></span> to enjoy
+this crate even more!
+Enable the feature <span class="stab portability"><code>some-feature</code></span> to enjoy
+this crate even more!
+Enable the feature <span class="stab portability"><code>some-feature</code></span> to enjoy
+this crate even more!
+
+Also, stop using `bar` as it's <span class="stab deprecated" title="">deprecated</span>.
+Also, stop using `bar` as it's <span class="stab deprecated" title="">deprecated</span>.
+Also, stop using `bar` as it's <span class="stab deprecated" title="">deprecated</span>.
+
+Finally, you can use `quz` only on <span class="stab portability"><code>Unix or x86-64</code>
+</span>.
+Finally, you can use `quz` only on <span class="stab portability"><code>Unix or x86-64</code>
+</span>.
+*/
+
+use std::convert::AsRef;
+use std::fmt;
+
+/// Basic function with some code examples:
+///
+/// ```
+/// println!("nothing fancy");
+/// println!("but with two lines!");
+/// ```
+///
+/// A failing to compile one:
+///
+/// ```compile_fail
+/// println!("where did my argument {} go? :'(");
+/// ```
+///
+/// An ignored one:
+///
+/// ```ignore (it's a test)
+/// Let's say I'm just some text will ya?
+/// ```
+///
+/// A failing to run one:
+///
+/// ```should_panic
+/// panic!("tadam");
+/// ```
+///
+/// An inlined `code`!
+pub fn foo() {}
+
+/// Just a normal struct.
+pub struct Foo;
+
+impl Foo {
+ #[must_use]
+ pub fn must_use(&self) -> bool {
+ true
+ }
+}
+
+impl AsRef<str> for Foo {
+ fn as_ref(&self) -> &str {
+ "hello"
+ }
+}
+
+/// Just a normal enum.
+///
+/// # title!
+#[doc(alias = "ThisIsAnAlias")]
+#[non_exhaustive]
+pub enum WhoLetTheDogOut {
+ /// Woof!
+ Woof,
+ /// Meoooooooow...
+ Meow,
+}
+
+/// Who doesn't love to wrap a `format!` call?
+pub fn some_more_function<T: fmt::Debug>(t: &T) -> String {
+ format!("{:?}", t)
+}
+
+/// Woohoo! A trait!
+pub trait AnotherOne {
+ /// Some func 3.
+ fn func3();
+
+ /// Some func 1.
+ fn func1();
+
+ fn another();
+ fn why_not();
+
+ /// Some func 2.
+ fn func2();
+
+ fn hello();
+}
+
+/// ```compile_fail
+/// whatever
+/// ```
+///
+/// Check for "i" signs in lists!
+///
+/// 1. elem 1
+/// 2. test 1
+/// ```compile_fail
+/// fn foo() {}
+/// ```
+/// 3. elem 3
+/// 4. ```ignore (it's a test)
+/// fn foo() {}
+/// ```
+/// 5. elem 5
+///
+/// Final one:
+///
+/// ```ignore (still a test)
+/// let x = 12;
+/// ```
+pub fn check_list_code_block() {}
+
+/// a thing with a label
+#[deprecated(since = "1.0.0", note = "text why this deprecated")]
+#[doc(cfg(unix))]
+pub fn replaced_function() {}
+
+/// Some doc with `code`!
+pub enum AnEnum {
+ WithVariants { and: usize, sub: usize, variants: usize },
+}
+
+#[doc(keyword = "CookieMonster")]
+/// Some keyword.
+pub mod keyword {}
+
+/// Just some type alias.
+pub type SomeType = u32;
+
+pub mod huge_amount_of_consts {
+ include!(concat!(env!("OUT_DIR"), "/huge_amount_of_consts.rs"));
+}
+
+/// Very long code text `hereIgoWithLongTextBecauseWhyNotAndWhyWouldntI`.
+pub mod long_code_block {}
+
+/// Very long code text [`hereIgoWithLongTextBecauseWhyNotAndWhyWouldntI`][lnk].
+///
+/// [lnk]: crate::long_code_block_link
+pub mod long_code_block_link {}
+
+#[macro_export]
+macro_rules! repro {
+ () => {};
+}
+
+pub use crate::repro as repro2;
+
+/// # Top-doc Prose title
+///
+/// Text below title.
+///
+/// ## Top-doc Prose sub-heading
+///
+/// Text below sub-heading.
+///
+/// ### Top-doc Prose sub-sub-heading
+///
+/// Text below sub-sub-heading
+///
+/// #### You know the drill.
+///
+/// More text.
+pub struct HeavilyDocumentedStruct {
+ /// # Title for field
+ /// ## Sub-heading for field
+ pub nothing: (),
+}
+
+/// # Title for struct impl doc
+///
+/// Text below heading.
+///
+/// ## Sub-heading for struct impl doc
+///
+/// Text below sub-heading.
+///
+/// ### Sub-sub-heading for struct impl doc
+///
+/// Text below sub-sub-heading.
+///
+impl HeavilyDocumentedStruct {
+ /// # Title for struct impl-item doc
+ /// Text below title.
+ /// ## Sub-heading for struct impl-item doc
+ /// Text below sub-heading.
+ /// ### Sub-sub-heading for struct impl-item doc
+ /// Text below sub-sub-heading.
+ pub fn do_nothing() {}
+}
+
+/// # Top-doc Prose title
+///
+/// Text below title.
+///
+/// ## Top-doc Prose sub-heading
+///
+/// Text below sub-heading.
+///
+/// ### Top-doc Prose sub-sub-heading
+///
+/// Text below sub-sub-heading
+pub enum HeavilyDocumentedEnum {
+ /// # None prose title
+ /// ## None prose sub-heading
+ None,
+ /// # Wrapped prose title
+ /// ## Wrapped prose sub-heading
+ Wrapped(
+ /// # Wrapped.0 prose title
+ /// ## Wrapped.0 prose sub-heading
+ String,
+ String,
+ ),
+ Structy {
+ /// # Structy prose title
+ /// ## Structy prose sub-heading
+ alpha: String,
+ beta: String,
+ },
+}
+
+/// # Title for enum impl doc
+///
+/// Text below heading.
+///
+/// ## Sub-heading for enum impl doc
+///
+/// Text below sub-heading.
+///
+/// ### Sub-sub-heading for enum impl doc
+///
+/// Text below sub-sub-heading.
+///
+impl HeavilyDocumentedEnum {
+ /// # Title for enum impl-item doc
+ /// Text below title.
+ /// ## Sub-heading for enum impl-item doc
+ /// Text below sub-heading.
+ /// ### Sub-sub-heading for enum impl-item doc
+ /// Text below sub-sub-heading.
+ pub fn do_nothing() {}
+}
+
+/// # Top-doc prose title
+///
+/// Text below heading.
+///
+/// ## Top-doc prose sub-heading
+///
+/// Text below heading.
+pub union HeavilyDocumentedUnion {
+ /// # Title for union variant
+ /// ## Sub-heading for union variant
+ pub nothing: (),
+ pub something: f32,
+}
+
+/// # Title for union impl doc
+/// ## Sub-heading for union impl doc
+impl HeavilyDocumentedUnion {
+ /// # Title for union impl-item doc
+ /// ## Sub-heading for union impl-item doc
+ pub fn do_nothing() {}
+}
+
+/// # Top-doc prose title
+///
+/// Text below heading.
+///
+/// ## Top-doc prose sub-heading
+///
+/// Text below heading.
+#[macro_export]
+macro_rules! heavily_documented_macro {
+ () => {};
+}
+
+pub trait EmptyTrait1 {}
+pub trait EmptyTrait2 {}
+pub trait EmptyTrait3 {}
+
+pub struct HasEmptyTraits{}
+
+impl EmptyTrait1 for HasEmptyTraits {}
+impl EmptyTrait2 for HasEmptyTraits {}
+#[doc(cfg(feature = "some-feature"))]
+impl EmptyTrait3 for HasEmptyTraits {}
+
+mod macros;
+pub use macros::*;
+
+#[doc(alias = "AliasForTheStdReexport")]
+pub use ::std as TheStdReexport;
+
+pub mod details {
+ /// We check the appearance of the `<details>`/`<summary>` in here.
+ ///
+ /// ## Hello
+ ///
+ /// <details>
+ /// <summary><h4>I'm a summary</h4></summary>
+ /// <div>I'm the content of the details!</div>
+ /// </details>
+ pub struct Details;
+
+ impl Details {
+ /// We check the appearance of the `<details>`/`<summary>` in here.
+ ///
+ /// ## Hello
+ ///
+ /// <details>
+ /// <summary><h4>I'm a summary</h4></summary>
+ /// <div>I'm the content of the details!</div>
+ /// </details>
+ pub fn method() {}
+ }
+}
+
+pub mod doc_block_table {
+
+ pub trait DocBlockTableTrait {
+ fn func();
+ }
+
+ /// Struct doc.
+ ///
+ /// | header1 | header2 |
+ /// |--------------------------|--------------------------|
+ /// | Lorem Ipsum, Lorem Ipsum | Lorem Ipsum, Lorem Ipsum |
+ /// | Lorem Ipsum, Lorem Ipsum | Lorem Ipsum, Lorem Ipsum |
+ /// | Lorem Ipsum, Lorem Ipsum | Lorem Ipsum, Lorem Ipsum |
+ /// | Lorem Ipsum, Lorem Ipsum | Lorem Ipsum, Lorem Ipsum |
+ pub struct DocBlockTable {}
+
+ impl DocBlockTableTrait for DocBlockTable {
+ /// Trait impl func doc for struct.
+ ///
+ /// | header1 | header2 |
+ /// |--------------------------|--------------------------|
+ /// | Lorem Ipsum, Lorem Ipsum | Lorem Ipsum, Lorem Ipsum |
+ fn func() {
+ println!();
+ }
+ }
+
+}
+
+pub struct NotableStructWithLongName<R>(R);
+
+impl<R: std::io::Read> NotableStructWithLongName<R> {
+ pub fn create_an_iterator_from_read(r: R) -> NotableStructWithLongName<R> { Self(r) }
+}
+
+impl<R: std::io::Read> std::iter::Iterator for NotableStructWithLongName<R> {
+ type Item = ();
+
+ fn next(&mut self) -> Option<Self::Item> { () }
+}
+
+pub trait TraitWithNoDocblocks {
+ fn first_fn(&self);
+ fn second_fn(&self);
+}
+
+pub struct TypeWithNoDocblocks;
+
+impl TypeWithNoDocblocks {
+ fn x() -> Option<Self> {
+ Some(Self)
+ }
+ fn y() -> Option<u32> {
+ // code comment
+ let t = Self::x()?;
+ Some(0)
+ }
+}
+
+impl TypeWithNoDocblocks {
+ pub fn first_fn(&self) {}
+ pub fn second_fn<'a>(&'a self) {
+ let x = 12;
+ let y = "a";
+ let z = false;
+ }
+}
+
+pub unsafe fn unsafe_fn() {}
+
+pub fn safe_fn() {}
+
+#[repr(C)]
+pub struct WithGenerics<T: TraitWithNoDocblocks, S = String, E = WhoLetTheDogOut, P = i8> {
+ s: S,
+ t: T,
+ e: E,
+ p: P,
+}
+
+pub struct StructWithPublicUndocumentedFields {
+ pub first: u32,
+ pub second: u32,
+}
+
+pub const CONST: u8 = 0;
+
+pub trait TraitWithoutGenerics {
+ const C: u8 = CONST;
+ type T = SomeType;
+
+ fn foo();
+}
+
+pub mod trait_members {
+ pub trait TraitMembers {
+ /// Some type
+ type Type;
+ /// Some function
+ fn function();
+ /// Some other function
+ fn function2();
+ }
+ pub struct HasTrait;
+ impl TraitMembers for HasTrait {
+ type Type = u8;
+ fn function() {}
+ fn function2() {}
+ }
+}
+
+pub struct TypeWithImplDoc;
+
+/// impl doc
+impl TypeWithImplDoc {
+ /// fn doc
+ pub fn test_fn() {}
+}
+
+/// <sub id="codeblock-sub-1">
+///
+/// ```
+/// one
+/// ```
+///
+/// </sub>
+///
+/// <sub id="codeblock-sub-3">
+///
+/// ```
+/// one
+/// two
+/// three
+/// ```
+///
+/// </sub>
+pub mod codeblock_sub {}
diff --git a/src/test/rustdoc-gui/src/test_docs/macros.rs b/tests/rustdoc-gui/src/test_docs/macros.rs
index 07b2b9792..07b2b9792 100644
--- a/src/test/rustdoc-gui/src/test_docs/macros.rs
+++ b/tests/rustdoc-gui/src/test_docs/macros.rs
diff --git a/tests/rustdoc-gui/stab-badge.goml b/tests/rustdoc-gui/stab-badge.goml
new file mode 100644
index 000000000..50ba1ba62
--- /dev/null
+++ b/tests/rustdoc-gui/stab-badge.goml
@@ -0,0 +1,41 @@
+// All stability badges should have rounded corners and colored backgrounds.
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+show-text: true
+define-function: (
+ "check-badge",
+ (theme, background, color),
+ block {
+ local-storage: {"rustdoc-use-system-theme": "false", "rustdoc-theme": |theme|}
+ goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+ assert: ".docblock .stab"
+ assert: ".item-table .stab"
+ assert-css: (".stab", {
+ "border-radius": "3px",
+ "color": |color|,
+ "background-color": |background|,
+ })
+ goto: "file://" + |DOC_PATH| + "/test_docs/fn.replaced_function.html"
+ assert: (".item-info .stab")
+ assert-css: (".stab", {
+ "border-radius": "3px",
+ "color": |color|,
+ "background-color": |background|,
+ })
+ },
+)
+
+call-function: ("check-badge", {
+ "theme": "ayu",
+ "color": "rgb(197, 197, 197)",
+ "background": "rgb(49, 69, 89)",
+})
+call-function: ("check-badge", {
+ "theme": "dark",
+ "color": "rgb(221, 221, 221)",
+ "background": "rgb(49, 69, 89)",
+})
+call-function: ("check-badge", {
+ "theme": "light",
+ "color": "rgb(0, 0, 0)",
+ "background": "rgb(255, 245, 214)",
+})
diff --git a/tests/rustdoc-gui/struct-fields.goml b/tests/rustdoc-gui/struct-fields.goml
new file mode 100644
index 000000000..fa3e16cb8
--- /dev/null
+++ b/tests/rustdoc-gui/struct-fields.goml
@@ -0,0 +1,5 @@
+// This test ensures that each field is on its own line (In other words, they have display: block).
+goto: "file://" + |DOC_PATH| + "/test_docs/struct.StructWithPublicUndocumentedFields.html"
+
+store-property: (first_top, "//*[@id='structfield.first']", "offsetTop")
+assert-property-false: ("//*[@id='structfield.second']", { "offsetTop": |first_top| })
diff --git a/src/test/rustdoc-gui/target.goml b/tests/rustdoc-gui/target.goml
index 3e5c30dc7..ca393ee58 100644
--- a/src/test/rustdoc-gui/target.goml
+++ b/tests/rustdoc-gui/target.goml
@@ -8,14 +8,14 @@ assert: "#method\.a_method:target"
define-function: (
"check-style",
(theme, background, border),
- [
- ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
- ("reload"),
- ("assert-css", ("#method\.a_method:target", {
+ block {
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ reload:
+ assert-css: ("#method\.a_method:target", {
"background-color": |background|,
"border-right": "3px solid " + |border|,
- })),
- ],
+ })
+ },
)
call-function: ("check-style", {
diff --git a/src/test/rustdoc-gui/theme-change.goml b/tests/rustdoc-gui/theme-change.goml
index cc47f1f45..cc47f1f45 100644
--- a/src/test/rustdoc-gui/theme-change.goml
+++ b/tests/rustdoc-gui/theme-change.goml
diff --git a/src/test/rustdoc-gui/theme-in-history.goml b/tests/rustdoc-gui/theme-in-history.goml
index 10508e86a..10508e86a 100644
--- a/src/test/rustdoc-gui/theme-in-history.goml
+++ b/tests/rustdoc-gui/theme-in-history.goml
diff --git a/tests/rustdoc-gui/toggle-click-deadspace.goml b/tests/rustdoc-gui/toggle-click-deadspace.goml
new file mode 100644
index 000000000..ac346f25b
--- /dev/null
+++ b/tests/rustdoc-gui/toggle-click-deadspace.goml
@@ -0,0 +1,15 @@
+// This test ensures that clicking on a method summary, but not on the "[-]",
+// doesn't toggle the <details>.
+goto: "file://" + |DOC_PATH| + "/lib2/struct.Foo.html"
+assert-attribute: (".impl-items .toggle", {"open": ""})
+click: "h4.code-header" // This is the position of "pub" in "pub fn a_method"
+assert-attribute: (".impl-items .toggle", {"open": ""})
+click-with-offset: (
+ ".impl-items .toggle summary",
+ {"x": -24, "y": 8}, // This is the position of "[-]" next to that pub fn.
+)
+assert-attribute-false: (".impl-items .toggle", {"open": ""})
+
+// Click the "Trait" part of "impl Trait" and verify it navigates.
+click: "#impl-Trait-for-Foo h3 a:first-of-type"
+assert-text: (".main-heading h1", "Trait lib2::Trait")
diff --git a/src/test/rustdoc-gui/toggle-docs-mobile.goml b/tests/rustdoc-gui/toggle-docs-mobile.goml
index 6ce24a81b..6ce24a81b 100644
--- a/src/test/rustdoc-gui/toggle-docs-mobile.goml
+++ b/tests/rustdoc-gui/toggle-docs-mobile.goml
diff --git a/tests/rustdoc-gui/toggle-docs.goml b/tests/rustdoc-gui/toggle-docs.goml
new file mode 100644
index 000000000..c9d236e9b
--- /dev/null
+++ b/tests/rustdoc-gui/toggle-docs.goml
@@ -0,0 +1,75 @@
+// Checks that the documentation toggles have the correct position, style and work as expected.
+goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
+assert-attribute: ("#main-content > details.top-doc", {"open": ""})
+assert-text: ("#toggle-all-docs", "[−]")
+click: "#toggle-all-docs"
+wait-for: 50
+// This is now collapsed so there shouldn't be the "open" attribute on details.
+assert-attribute-false: ("#main-content > details.top-doc", {"open": ""})
+assert-text: ("#toggle-all-docs", "[+]")
+assert-css: (
+ "#main-content > details.top-doc > summary",
+ {"font-family": '"Fira Sans", Arial, NanumBarunGothic, sans-serif'},
+)
+click: "#toggle-all-docs"
+// Not collapsed anymore so the "open" attribute should be back.
+wait-for-attribute: ("#main-content > details.top-doc", {"open": ""})
+assert-text: ("#toggle-all-docs", "[−]")
+
+// Check that it works on non-module pages as well.
+goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
+// We first check that everything is visible.
+assert-text: ("#toggle-all-docs", "[−]")
+assert-attribute: ("#implementations-list details.toggle", {"open": ""}, ALL)
+assert-attribute: ("#trait-implementations-list details.toggle", {"open": ""}, ALL)
+assert-attribute-false: (
+ "#blanket-implementations-list > details.toggle",
+ {"open": ""},
+ ALL,
+)
+
+// We collapse them all.
+click: "#toggle-all-docs"
+wait-for-text: ("#toggle-all-docs", "[+]")
+// We check that all <details> are collapsed (except for the impl block ones).
+assert-attribute-false: ("details.toggle:not(.implementors-toggle)", {"open": ""}, ALL)
+assert-attribute: ("#implementations-list > details.implementors-toggle", {"open": ""})
+// We now check that the other impl blocks are collapsed.
+assert-attribute-false: (
+ "#blanket-implementations-list > details.toggle.implementors-toggle",
+ {"open": ""},
+ ALL,
+)
+// We open them all again.
+click: "#toggle-all-docs"
+wait-for-text: ("#toggle-all-docs", "[−]")
+assert-attribute: ("details.toggle", {"open": ""}, ALL)
+
+// Checking the toggles style.
+show-text: true
+define-function: (
+ "check-color",
+ (theme, filter),
+ block {
+ // Setting the theme.
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ // We reload the page so the local storage settings are being used.
+ reload:
+
+ assert-css: ("details.toggle > summary::before", {
+ "opacity": "0.5",
+ "filter": |filter|,
+ }, ALL)
+ move-cursor-to: "details.toggle summary"
+ assert-css: ("details.toggle > summary:hover::before", {
+ "opacity": "1",
+ "filter": |filter|,
+ })
+ // moving the cursor somewhere else to not mess with next function calls.
+ move-cursor-to: ".search-input"
+ },
+)
+
+call-function: ("check-color", {"theme": "ayu", "filter": "invert(1)"})
+call-function: ("check-color", {"theme": "dark", "filter": "invert(1)"})
+call-function: ("check-color", {"theme": "light", "filter": "none"})
diff --git a/src/test/rustdoc-gui/toggle-implementors.goml b/tests/rustdoc-gui/toggle-implementors.goml
index 8ff5b91af..8ff5b91af 100644
--- a/src/test/rustdoc-gui/toggle-implementors.goml
+++ b/tests/rustdoc-gui/toggle-implementors.goml
diff --git a/src/test/rustdoc-gui/toggled-open-implementations.goml b/tests/rustdoc-gui/toggled-open-implementations.goml
index e4d59b5d7..000293b55 100644
--- a/src/test/rustdoc-gui/toggled-open-implementations.goml
+++ b/tests/rustdoc-gui/toggled-open-implementations.goml
@@ -2,4 +2,4 @@
// has all the implementations toggled open by default, so users can
// find method names in those implementations with Ctrl-F.
goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
-assert-attribute: (".rustdoc-toggle.implementors-toggle", {"open": ""})
+assert-attribute: (".toggle.implementors-toggle", {"open": ""})
diff --git a/src/test/rustdoc-gui/trait-sidebar-item-order.goml b/tests/rustdoc-gui/trait-sidebar-item-order.goml
index e5d023544..e5d023544 100644
--- a/src/test/rustdoc-gui/trait-sidebar-item-order.goml
+++ b/tests/rustdoc-gui/trait-sidebar-item-order.goml
diff --git a/src/test/rustdoc-gui/type-declation-overflow.goml b/tests/rustdoc-gui/type-declation-overflow.goml
index c014eb52e..644429c01 100644
--- a/src/test/rustdoc-gui/type-declation-overflow.goml
+++ b/tests/rustdoc-gui/type-declation-overflow.goml
@@ -1,3 +1,4 @@
+// ignore-tidy-linelength
// This test ensures that the items declaration content overflow is handled inside the <pre> directly.
// We need to disable this check because
@@ -58,3 +59,18 @@ goto: "file://" + |DOC_PATH| + "/lib2/too_long/struct.SuperIncrediblyLongLongLon
compare-elements-position-false: (".main-heading h1", ".main-heading .out-of-band", ("y"))
goto: "file://" + |DOC_PATH| + "/lib2/index.html"
compare-elements-position-false: (".main-heading h1", ".main-heading .out-of-band", ("y"))
+
+// Now we will check that the scrolling is working.
+// First on an item with "hidden methods".
+goto: "file://" + |DOC_PATH| + "/lib2/scroll_traits/trait.Iterator.html"
+
+click: ".item-decl .type-contents-toggle"
+assert-property: (".item-decl > pre", {"scrollLeft": 0})
+scroll-to: "//*[@class='item-decl']//details/a[text()='String']"
+assert-property-false: (".item-decl > pre", {"scrollLeft": 0})
+
+// Then on an item without "hidden methods".
+goto: "file://" + |DOC_PATH| + "/lib2/scroll_traits/trait.TraitWithLongItemsName.html"
+assert-property: (".item-decl > pre", {"scrollLeft": 0})
+scroll-to: "//*[@class='item-decl']//code/a[text()='String']"
+assert-property-false: (".item-decl > pre", {"scrollLeft": 0})
diff --git a/src/test/rustdoc-gui/unsafe-fn.goml b/tests/rustdoc-gui/unsafe-fn.goml
index 5e43b85fc..d3a672ddd 100644
--- a/src/test/rustdoc-gui/unsafe-fn.goml
+++ b/tests/rustdoc-gui/unsafe-fn.goml
@@ -14,13 +14,13 @@ define-function: (
// `theme` is the theme being tested.
// `color` is the expected color of the `<sup>` element.
(theme, color),
- [
+ block {
// Set the theme.
- ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
// We reload the page so the local storage settings are being used.
- ("reload"),
- ("assert-css", (".item-left sup", {"color": |color|})),
- ],
+ reload:
+ assert-css: (".item-left sup", {"color": |color|})
+ },
)
call-function: ("sup-check", ("dark", "rgb(221, 221, 221)"))
diff --git a/src/test/rustdoc-gui/where-whitespace.goml b/tests/rustdoc-gui/where-whitespace.goml
index 41596a9bc..41596a9bc 100644
--- a/src/test/rustdoc-gui/where-whitespace.goml
+++ b/tests/rustdoc-gui/where-whitespace.goml
diff --git a/src/test/rustdoc-js-std/alias-1.js b/tests/rustdoc-js-std/alias-1.js
index 7c6327fcd..7c6327fcd 100644
--- a/src/test/rustdoc-js-std/alias-1.js
+++ b/tests/rustdoc-js-std/alias-1.js
diff --git a/src/test/rustdoc-js-std/alias-2.js b/tests/rustdoc-js-std/alias-2.js
index 798fa29ef..798fa29ef 100644
--- a/src/test/rustdoc-js-std/alias-2.js
+++ b/tests/rustdoc-js-std/alias-2.js
diff --git a/src/test/rustdoc-js-std/alias-3.js b/tests/rustdoc-js-std/alias-3.js
index 392b1e818..392b1e818 100644
--- a/src/test/rustdoc-js-std/alias-3.js
+++ b/tests/rustdoc-js-std/alias-3.js
diff --git a/src/test/rustdoc-js-std/alias-4.js b/tests/rustdoc-js-std/alias-4.js
index bf2bb4d29..bf2bb4d29 100644
--- a/src/test/rustdoc-js-std/alias-4.js
+++ b/tests/rustdoc-js-std/alias-4.js
diff --git a/src/test/rustdoc-js-std/alias.js b/tests/rustdoc-js-std/alias.js
index 2b709c991..2b709c991 100644
--- a/src/test/rustdoc-js-std/alias.js
+++ b/tests/rustdoc-js-std/alias.js
diff --git a/src/test/rustdoc-js-std/asrawfd.js b/tests/rustdoc-js-std/asrawfd.js
index 369a34f9c..369a34f9c 100644
--- a/src/test/rustdoc-js-std/asrawfd.js
+++ b/tests/rustdoc-js-std/asrawfd.js
diff --git a/src/test/rustdoc-js-std/basic.js b/tests/rustdoc-js-std/basic.js
index 824cac710..824cac710 100644
--- a/src/test/rustdoc-js-std/basic.js
+++ b/tests/rustdoc-js-std/basic.js
diff --git a/src/test/rustdoc-js-std/deduplication.js b/tests/rustdoc-js-std/deduplication.js
index f02f6cf55..f02f6cf55 100644
--- a/src/test/rustdoc-js-std/deduplication.js
+++ b/tests/rustdoc-js-std/deduplication.js
diff --git a/src/test/rustdoc-js-std/enum-option.js b/tests/rustdoc-js-std/enum-option.js
index 902e09069..902e09069 100644
--- a/src/test/rustdoc-js-std/enum-option.js
+++ b/tests/rustdoc-js-std/enum-option.js
diff --git a/src/test/rustdoc-js-std/filter-crate.js b/tests/rustdoc-js-std/filter-crate.js
index b47a1fefa..b47a1fefa 100644
--- a/src/test/rustdoc-js-std/filter-crate.js
+++ b/tests/rustdoc-js-std/filter-crate.js
diff --git a/src/test/rustdoc-js-std/fn-forget.js b/tests/rustdoc-js-std/fn-forget.js
index 66a5fcaa7..66a5fcaa7 100644
--- a/src/test/rustdoc-js-std/fn-forget.js
+++ b/tests/rustdoc-js-std/fn-forget.js
diff --git a/src/test/rustdoc-js-std/from_u.js b/tests/rustdoc-js-std/from_u.js
index e3f3cd436..e3f3cd436 100644
--- a/src/test/rustdoc-js-std/from_u.js
+++ b/tests/rustdoc-js-std/from_u.js
diff --git a/src/test/rustdoc-js-std/keyword.js b/tests/rustdoc-js-std/keyword.js
index 868ddd7b6..868ddd7b6 100644
--- a/src/test/rustdoc-js-std/keyword.js
+++ b/tests/rustdoc-js-std/keyword.js
diff --git a/src/test/rustdoc-js-std/macro-check.js b/tests/rustdoc-js-std/macro-check.js
index 242e0cbf5..242e0cbf5 100644
--- a/src/test/rustdoc-js-std/macro-check.js
+++ b/tests/rustdoc-js-std/macro-check.js
diff --git a/src/test/rustdoc-js-std/macro-print.js b/tests/rustdoc-js-std/macro-print.js
index 858046e72..1b4c7b405 100644
--- a/src/test/rustdoc-js-std/macro-print.js
+++ b/tests/rustdoc-js-std/macro-print.js
@@ -3,8 +3,8 @@ const QUERY = 'macro:print';
const EXPECTED = {
'others': [
{ 'path': 'std', 'name': 'print' },
- { 'path': 'std', 'name': 'eprint' },
{ 'path': 'std', 'name': 'println' },
+ { 'path': 'std', 'name': 'eprint' },
{ 'path': 'std', 'name': 'eprintln' },
],
};
diff --git a/src/test/rustdoc-js-std/never.js b/tests/rustdoc-js-std/never.js
index 392b1e818..392b1e818 100644
--- a/src/test/rustdoc-js-std/never.js
+++ b/tests/rustdoc-js-std/never.js
diff --git a/src/test/rustdoc-js-std/parser-errors.js b/tests/rustdoc-js-std/parser-errors.js
index dc42031e0..dc42031e0 100644
--- a/src/test/rustdoc-js-std/parser-errors.js
+++ b/tests/rustdoc-js-std/parser-errors.js
diff --git a/src/test/rustdoc-js-std/parser-filter.js b/tests/rustdoc-js-std/parser-filter.js
index e5a87a415..e5a87a415 100644
--- a/src/test/rustdoc-js-std/parser-filter.js
+++ b/tests/rustdoc-js-std/parser-filter.js
diff --git a/src/test/rustdoc-js-std/parser-generics.js b/tests/rustdoc-js-std/parser-generics.js
index 0cf7f5019..0cf7f5019 100644
--- a/src/test/rustdoc-js-std/parser-generics.js
+++ b/tests/rustdoc-js-std/parser-generics.js
diff --git a/src/test/rustdoc-js-std/parser-ident.js b/tests/rustdoc-js-std/parser-ident.js
index 4b5ab01ac..4b5ab01ac 100644
--- a/src/test/rustdoc-js-std/parser-ident.js
+++ b/tests/rustdoc-js-std/parser-ident.js
diff --git a/src/test/rustdoc-js-std/parser-literal.js b/tests/rustdoc-js-std/parser-literal.js
index 87b3baff1..87b3baff1 100644
--- a/src/test/rustdoc-js-std/parser-literal.js
+++ b/tests/rustdoc-js-std/parser-literal.js
diff --git a/src/test/rustdoc-js-std/parser-paths.js b/tests/rustdoc-js-std/parser-paths.js
index 9f823f933..9f823f933 100644
--- a/src/test/rustdoc-js-std/parser-paths.js
+++ b/tests/rustdoc-js-std/parser-paths.js
diff --git a/src/test/rustdoc-js-std/parser-quote.js b/tests/rustdoc-js-std/parser-quote.js
index 1e16c90de..1e16c90de 100644
--- a/src/test/rustdoc-js-std/parser-quote.js
+++ b/tests/rustdoc-js-std/parser-quote.js
diff --git a/src/test/rustdoc-js-std/parser-returned.js b/tests/rustdoc-js-std/parser-returned.js
index 6fce17dca..6fce17dca 100644
--- a/src/test/rustdoc-js-std/parser-returned.js
+++ b/tests/rustdoc-js-std/parser-returned.js
diff --git a/src/test/rustdoc-js-std/parser-separators.js b/tests/rustdoc-js-std/parser-separators.js
index 5b7abdfa8..5b7abdfa8 100644
--- a/src/test/rustdoc-js-std/parser-separators.js
+++ b/tests/rustdoc-js-std/parser-separators.js
diff --git a/src/test/rustdoc-js-std/parser-weird-queries.js b/tests/rustdoc-js-std/parser-weird-queries.js
index a3d85aeca..a3d85aeca 100644
--- a/src/test/rustdoc-js-std/parser-weird-queries.js
+++ b/tests/rustdoc-js-std/parser-weird-queries.js
diff --git a/src/test/rustdoc-js-std/path-ordering.js b/tests/rustdoc-js-std/path-ordering.js
index 7dcdd4023..7dcdd4023 100644
--- a/src/test/rustdoc-js-std/path-ordering.js
+++ b/tests/rustdoc-js-std/path-ordering.js
diff --git a/src/test/rustdoc-js-std/primitive.js b/tests/rustdoc-js-std/primitive.js
index e5690383e..e5690383e 100644
--- a/src/test/rustdoc-js-std/primitive.js
+++ b/tests/rustdoc-js-std/primitive.js
diff --git a/src/test/rustdoc-js-std/quoted.js b/tests/rustdoc-js-std/quoted.js
index aec8484a4..aec8484a4 100644
--- a/src/test/rustdoc-js-std/quoted.js
+++ b/tests/rustdoc-js-std/quoted.js
diff --git a/src/test/rustdoc-js-std/return-specific-literal.js b/tests/rustdoc-js-std/return-specific-literal.js
index c7c347240..c7c347240 100644
--- a/src/test/rustdoc-js-std/return-specific-literal.js
+++ b/tests/rustdoc-js-std/return-specific-literal.js
diff --git a/src/test/rustdoc-js-std/return-specific.js b/tests/rustdoc-js-std/return-specific.js
index d9a910553..d9a910553 100644
--- a/src/test/rustdoc-js-std/return-specific.js
+++ b/tests/rustdoc-js-std/return-specific.js
diff --git a/src/test/rustdoc-js-std/should-fail.js b/tests/rustdoc-js-std/should-fail.js
index b85a47dc0..b85a47dc0 100644
--- a/src/test/rustdoc-js-std/should-fail.js
+++ b/tests/rustdoc-js-std/should-fail.js
diff --git a/src/test/rustdoc-js-std/string-from_ut.js b/tests/rustdoc-js-std/string-from_ut.js
index f9edf4408..f9edf4408 100644
--- a/src/test/rustdoc-js-std/string-from_ut.js
+++ b/tests/rustdoc-js-std/string-from_ut.js
diff --git a/src/test/rustdoc-js-std/struct-vec.js b/tests/rustdoc-js-std/struct-vec.js
index 29609904b..29609904b 100644
--- a/src/test/rustdoc-js-std/struct-vec.js
+++ b/tests/rustdoc-js-std/struct-vec.js
diff --git a/src/test/rustdoc-js-std/typed-query.js b/tests/rustdoc-js-std/typed-query.js
index 25efbad26..fd5c5489d 100644
--- a/src/test/rustdoc-js-std/typed-query.js
+++ b/tests/rustdoc-js-std/typed-query.js
@@ -6,8 +6,8 @@ const FILTER_CRATE = 'std';
const EXPECTED = {
'others': [
{ 'path': 'std', 'name': 'print' },
- { 'path': 'std', 'name': 'eprint' },
{ 'path': 'std', 'name': 'println' },
+ { 'path': 'std', 'name': 'eprint' },
{ 'path': 'std', 'name': 'eprintln' },
{ 'path': 'std::pin', 'name': 'pin' },
{ 'path': 'std::future', 'name': 'join' },
diff --git a/tests/rustdoc-js-std/vec-new.js b/tests/rustdoc-js-std/vec-new.js
new file mode 100644
index 000000000..fc44a566a
--- /dev/null
+++ b/tests/rustdoc-js-std/vec-new.js
@@ -0,0 +1,10 @@
+const QUERY = 'Vec::new';
+
+const EXPECTED = {
+ 'others': [
+ { 'path': 'std::vec::Vec', 'name': 'new' },
+ { 'path': 'alloc::vec::Vec', 'name': 'new' },
+ { 'path': 'std::vec::Vec', 'name': 'new_in' },
+ { 'path': 'alloc::vec::Vec', 'name': 'new_in' },
+ ],
+};
diff --git a/src/test/rustdoc-js/basic.js b/tests/rustdoc-js/basic.js
index d99b23468..d99b23468 100644
--- a/src/test/rustdoc-js/basic.js
+++ b/tests/rustdoc-js/basic.js
diff --git a/src/test/rustdoc-js/basic.rs b/tests/rustdoc-js/basic.rs
index da946a58b..da946a58b 100644
--- a/src/test/rustdoc-js/basic.rs
+++ b/tests/rustdoc-js/basic.rs
diff --git a/src/test/rustdoc-js/doc-alias-filter-out.js b/tests/rustdoc-js/doc-alias-filter-out.js
index 46a089d06..46a089d06 100644
--- a/src/test/rustdoc-js/doc-alias-filter-out.js
+++ b/tests/rustdoc-js/doc-alias-filter-out.js
diff --git a/src/test/rustdoc-js/doc-alias-filter-out.rs b/tests/rustdoc-js/doc-alias-filter-out.rs
index 3f0c09479..3f0c09479 100644
--- a/src/test/rustdoc-js/doc-alias-filter-out.rs
+++ b/tests/rustdoc-js/doc-alias-filter-out.rs
diff --git a/src/test/rustdoc-js/doc-alias-filter.js b/tests/rustdoc-js/doc-alias-filter.js
index e06047ba7..e06047ba7 100644
--- a/src/test/rustdoc-js/doc-alias-filter.js
+++ b/tests/rustdoc-js/doc-alias-filter.js
diff --git a/src/test/rustdoc-js/doc-alias-filter.rs b/tests/rustdoc-js/doc-alias-filter.rs
index d5227814c..d5227814c 100644
--- a/src/test/rustdoc-js/doc-alias-filter.rs
+++ b/tests/rustdoc-js/doc-alias-filter.rs
diff --git a/src/test/rustdoc-js/doc-alias-whitespace.js b/tests/rustdoc-js/doc-alias-whitespace.js
index c9fc0c431..c9fc0c431 100644
--- a/src/test/rustdoc-js/doc-alias-whitespace.js
+++ b/tests/rustdoc-js/doc-alias-whitespace.js
diff --git a/src/test/rustdoc-js/doc-alias-whitespace.rs b/tests/rustdoc-js/doc-alias-whitespace.rs
index 16c022c74..16c022c74 100644
--- a/src/test/rustdoc-js/doc-alias-whitespace.rs
+++ b/tests/rustdoc-js/doc-alias-whitespace.rs
diff --git a/src/test/rustdoc-js/doc-alias.js b/tests/rustdoc-js/doc-alias.js
index 7bb0cbe38..7bb0cbe38 100644
--- a/src/test/rustdoc-js/doc-alias.js
+++ b/tests/rustdoc-js/doc-alias.js
diff --git a/src/test/rustdoc-js/doc-alias.rs b/tests/rustdoc-js/doc-alias.rs
index 750b7b757..750b7b757 100644
--- a/src/test/rustdoc-js/doc-alias.rs
+++ b/tests/rustdoc-js/doc-alias.rs
diff --git a/src/test/rustdoc-js/exact-match.js b/tests/rustdoc-js/exact-match.js
index b0a411bee..b0a411bee 100644
--- a/src/test/rustdoc-js/exact-match.js
+++ b/tests/rustdoc-js/exact-match.js
diff --git a/src/test/rustdoc-js/exact-match.rs b/tests/rustdoc-js/exact-match.rs
index 2eacc0a35..2eacc0a35 100644
--- a/src/test/rustdoc-js/exact-match.rs
+++ b/tests/rustdoc-js/exact-match.rs
diff --git a/src/test/rustdoc-js/foreign-type-path.js b/tests/rustdoc-js/foreign-type-path.js
index 334761bad..334761bad 100644
--- a/src/test/rustdoc-js/foreign-type-path.js
+++ b/tests/rustdoc-js/foreign-type-path.js
diff --git a/src/test/rustdoc-js/foreign-type-path.rs b/tests/rustdoc-js/foreign-type-path.rs
index 83400104e..83400104e 100644
--- a/src/test/rustdoc-js/foreign-type-path.rs
+++ b/tests/rustdoc-js/foreign-type-path.rs
diff --git a/src/test/rustdoc-js/generics-impl.js b/tests/rustdoc-js/generics-impl.js
index bb6e0041d..bb6e0041d 100644
--- a/src/test/rustdoc-js/generics-impl.js
+++ b/tests/rustdoc-js/generics-impl.js
diff --git a/src/test/rustdoc-js/generics-impl.rs b/tests/rustdoc-js/generics-impl.rs
index 696218021..696218021 100644
--- a/src/test/rustdoc-js/generics-impl.rs
+++ b/tests/rustdoc-js/generics-impl.rs
diff --git a/src/test/rustdoc-js/generics-multi-trait.js b/tests/rustdoc-js/generics-multi-trait.js
index e7fcea876..e7fcea876 100644
--- a/src/test/rustdoc-js/generics-multi-trait.js
+++ b/tests/rustdoc-js/generics-multi-trait.js
diff --git a/src/test/rustdoc-js/generics-multi-trait.rs b/tests/rustdoc-js/generics-multi-trait.rs
index e6fd06d25..e6fd06d25 100644
--- a/src/test/rustdoc-js/generics-multi-trait.rs
+++ b/tests/rustdoc-js/generics-multi-trait.rs
diff --git a/src/test/rustdoc-js/generics-trait.js b/tests/rustdoc-js/generics-trait.js
index 787662243..787662243 100644
--- a/src/test/rustdoc-js/generics-trait.js
+++ b/tests/rustdoc-js/generics-trait.js
diff --git a/src/test/rustdoc-js/generics-trait.rs b/tests/rustdoc-js/generics-trait.rs
index 20db117cc..20db117cc 100644
--- a/src/test/rustdoc-js/generics-trait.rs
+++ b/tests/rustdoc-js/generics-trait.rs
diff --git a/src/test/rustdoc-js/generics.js b/tests/rustdoc-js/generics.js
index 5e5ba7cd9..5e5ba7cd9 100644
--- a/src/test/rustdoc-js/generics.js
+++ b/tests/rustdoc-js/generics.js
diff --git a/src/test/rustdoc-js/generics.rs b/tests/rustdoc-js/generics.rs
index 055c51c7e..055c51c7e 100644
--- a/src/test/rustdoc-js/generics.rs
+++ b/tests/rustdoc-js/generics.rs
diff --git a/src/test/rustdoc-js/impl-trait.js b/tests/rustdoc-js/impl-trait.js
index 8d594bf8a..8d594bf8a 100644
--- a/src/test/rustdoc-js/impl-trait.js
+++ b/tests/rustdoc-js/impl-trait.js
diff --git a/src/test/rustdoc-js/impl-trait.rs b/tests/rustdoc-js/impl-trait.rs
index fb8869b46..fb8869b46 100644
--- a/src/test/rustdoc-js/impl-trait.rs
+++ b/tests/rustdoc-js/impl-trait.rs
diff --git a/src/test/rustdoc-js/module-substring.js b/tests/rustdoc-js/module-substring.js
index a446c39eb..a446c39eb 100644
--- a/src/test/rustdoc-js/module-substring.js
+++ b/tests/rustdoc-js/module-substring.js
diff --git a/src/test/rustdoc-js/module-substring.rs b/tests/rustdoc-js/module-substring.rs
index 2eacc0a35..2eacc0a35 100644
--- a/src/test/rustdoc-js/module-substring.rs
+++ b/tests/rustdoc-js/module-substring.rs
diff --git a/src/test/rustdoc-js/path-ordering.js b/tests/rustdoc-js/path-ordering.js
index 4aee569b0..4aee569b0 100644
--- a/src/test/rustdoc-js/path-ordering.js
+++ b/tests/rustdoc-js/path-ordering.js
diff --git a/src/test/rustdoc-js/path-ordering.rs b/tests/rustdoc-js/path-ordering.rs
index 7843cf7f9..7843cf7f9 100644
--- a/src/test/rustdoc-js/path-ordering.rs
+++ b/tests/rustdoc-js/path-ordering.rs
diff --git a/src/test/rustdoc-js/primitive.js b/tests/rustdoc-js/primitive.js
index 918f70999..918f70999 100644
--- a/src/test/rustdoc-js/primitive.js
+++ b/tests/rustdoc-js/primitive.js
diff --git a/src/test/rustdoc-js/primitive.rs b/tests/rustdoc-js/primitive.rs
index 2b30ccf15..2b30ccf15 100644
--- a/src/test/rustdoc-js/primitive.rs
+++ b/tests/rustdoc-js/primitive.rs
diff --git a/src/test/rustdoc-js/prototype.js b/tests/rustdoc-js/prototype.js
index 2f1d841c3..2f1d841c3 100644
--- a/src/test/rustdoc-js/prototype.js
+++ b/tests/rustdoc-js/prototype.js
diff --git a/src/test/rustdoc-js/prototype.rs b/tests/rustdoc-js/prototype.rs
index 5f6d73cc1..5f6d73cc1 100644
--- a/src/test/rustdoc-js/prototype.rs
+++ b/tests/rustdoc-js/prototype.rs
diff --git a/src/test/rustdoc-js/raw-pointer.js b/tests/rustdoc-js/raw-pointer.js
index 140b955ea..140b955ea 100644
--- a/src/test/rustdoc-js/raw-pointer.js
+++ b/tests/rustdoc-js/raw-pointer.js
diff --git a/src/test/rustdoc-js/raw-pointer.rs b/tests/rustdoc-js/raw-pointer.rs
index b8ace2e0b..b8ace2e0b 100644
--- a/src/test/rustdoc-js/raw-pointer.rs
+++ b/tests/rustdoc-js/raw-pointer.rs
diff --git a/src/test/rustdoc-js/reexport.js b/tests/rustdoc-js/reexport.js
index 871e75d9b..871e75d9b 100644
--- a/src/test/rustdoc-js/reexport.js
+++ b/tests/rustdoc-js/reexport.js
diff --git a/src/test/rustdoc-js/reexport.rs b/tests/rustdoc-js/reexport.rs
index d69b2901e..d69b2901e 100644
--- a/src/test/rustdoc-js/reexport.rs
+++ b/tests/rustdoc-js/reexport.rs
diff --git a/tests/rustdoc-js/search-short-types.js b/tests/rustdoc-js/search-short-types.js
new file mode 100644
index 000000000..3b2f15a40
--- /dev/null
+++ b/tests/rustdoc-js/search-short-types.js
@@ -0,0 +1,9 @@
+const QUERY = 'P';
+
+const EXPECTED = {
+ 'others': [
+ { 'path': 'search_short_types', 'name': 'P' },
+ { 'path': 'search_short_types::VeryLongTypeName', 'name': 'p' },
+ { 'path': 'search_short_types', 'name': 'Pa' },
+ ],
+};
diff --git a/src/test/rustdoc-js/search-short-types.rs b/tests/rustdoc-js/search-short-types.rs
index a4083f9a7..a4083f9a7 100644
--- a/src/test/rustdoc-js/search-short-types.rs
+++ b/tests/rustdoc-js/search-short-types.rs
diff --git a/src/test/rustdoc-js/struct-like-variant.js b/tests/rustdoc-js/struct-like-variant.js
index f6deea51e..f6deea51e 100644
--- a/src/test/rustdoc-js/struct-like-variant.js
+++ b/tests/rustdoc-js/struct-like-variant.js
diff --git a/src/test/rustdoc-js/struct-like-variant.rs b/tests/rustdoc-js/struct-like-variant.rs
index 2f52a319a..2f52a319a 100644
--- a/src/test/rustdoc-js/struct-like-variant.rs
+++ b/tests/rustdoc-js/struct-like-variant.rs
diff --git a/src/test/rustdoc-js/substring.js b/tests/rustdoc-js/substring.js
index af05cd1ad..af05cd1ad 100644
--- a/src/test/rustdoc-js/substring.js
+++ b/tests/rustdoc-js/substring.js
diff --git a/src/test/rustdoc-js/substring.rs b/tests/rustdoc-js/substring.rs
index e729c722c..e729c722c 100644
--- a/src/test/rustdoc-js/substring.rs
+++ b/tests/rustdoc-js/substring.rs
diff --git a/src/test/rustdoc-js/summaries.js b/tests/rustdoc-js/summaries.js
index dfb11e804..dfb11e804 100644
--- a/src/test/rustdoc-js/summaries.js
+++ b/tests/rustdoc-js/summaries.js
diff --git a/src/test/rustdoc-js/summaries.rs b/tests/rustdoc-js/summaries.rs
index 1ee1c34aa..1ee1c34aa 100644
--- a/src/test/rustdoc-js/summaries.rs
+++ b/tests/rustdoc-js/summaries.rs
diff --git a/src/test/rustdoc-json/assoc_items.rs b/tests/rustdoc-json/assoc_items.rs
index 6d7f6bb96..6d7f6bb96 100644
--- a/src/test/rustdoc-json/assoc_items.rs
+++ b/tests/rustdoc-json/assoc_items.rs
diff --git a/src/test/rustdoc-json/assoc_type.rs b/tests/rustdoc-json/assoc_type.rs
index edc1f73c8..edc1f73c8 100644
--- a/src/test/rustdoc-json/assoc_type.rs
+++ b/tests/rustdoc-json/assoc_type.rs
diff --git a/src/test/rustdoc-json/blanket_impls.rs b/tests/rustdoc-json/blanket_impls.rs
index c5cc87ca1..c5cc87ca1 100644
--- a/src/test/rustdoc-json/blanket_impls.rs
+++ b/tests/rustdoc-json/blanket_impls.rs
diff --git a/src/test/rustdoc-json/doc_hidden_failure.rs b/tests/rustdoc-json/doc_hidden_failure.rs
index 6573166c4..0d2c6b220 100644
--- a/src/test/rustdoc-json/doc_hidden_failure.rs
+++ b/tests/rustdoc-json/doc_hidden_failure.rs
@@ -14,7 +14,8 @@ mod auto {
}
}
-// @count "$.index[*][?(@.name=='builders')]" 2
+// @count "$.index[*][?(@.name=='builders')]" 1
+// @has "$.index[*][?(@.name == 'ActionRowBuilder')"]
pub use auto::*;
pub mod builders {
diff --git a/src/test/rustdoc-json/enums/auxiliary/color.rs b/tests/rustdoc-json/enums/auxiliary/color.rs
index 7188f7938..7188f7938 100644
--- a/src/test/rustdoc-json/enums/auxiliary/color.rs
+++ b/tests/rustdoc-json/enums/auxiliary/color.rs
diff --git a/tests/rustdoc-json/enums/discriminant/basic.rs b/tests/rustdoc-json/enums/discriminant/basic.rs
new file mode 100644
index 000000000..06906df3b
--- /dev/null
+++ b/tests/rustdoc-json/enums/discriminant/basic.rs
@@ -0,0 +1,12 @@
+#[repr(i8)]
+pub enum Ordering {
+ // @is "$.index[*][?(@.name=='Less')].inner.discriminant.expr" '"-1"'
+ // @is "$.index[*][?(@.name=='Less')].inner.discriminant.value" '"-1"'
+ Less = -1,
+ // @is "$.index[*][?(@.name=='Equal')].inner.discriminant.expr" '"0"'
+ // @is "$.index[*][?(@.name=='Equal')].inner.discriminant.value" '"0"'
+ Equal = 0,
+ // @is "$.index[*][?(@.name=='Greater')].inner.discriminant.expr" '"1"'
+ // @is "$.index[*][?(@.name=='Greater')].inner.discriminant.value" '"1"'
+ Greater = 1,
+}
diff --git a/tests/rustdoc-json/enums/discriminant/expr.rs b/tests/rustdoc-json/enums/discriminant/expr.rs
new file mode 100644
index 000000000..e639965e7
--- /dev/null
+++ b/tests/rustdoc-json/enums/discriminant/expr.rs
@@ -0,0 +1,39 @@
+pub enum Foo {
+ // @is "$.index[*][?(@.name=='Addition')].inner.discriminant.value" '"0"'
+ // @is "$.index[*][?(@.name=='Addition')].inner.discriminant.expr" '"{ _ }"'
+ Addition = 0 + 0,
+ // @is "$.index[*][?(@.name=='Bin')].inner.discriminant.value" '"1"'
+ // @is "$.index[*][?(@.name=='Bin')].inner.discriminant.expr" '"0b1"'
+ Bin = 0b1,
+ // @is "$.index[*][?(@.name=='Oct')].inner.discriminant.value" '"2"'
+ // @is "$.index[*][?(@.name=='Oct')].inner.discriminant.expr" '"0o2"'
+ Oct = 0o2,
+ // @is "$.index[*][?(@.name=='PubConst')].inner.discriminant.value" '"3"'
+ // @is "$.index[*][?(@.name=='PubConst')].inner.discriminant.expr" '"THREE"'
+ PubConst = THREE,
+ // @is "$.index[*][?(@.name=='Hex')].inner.discriminant.value" '"4"'
+ // @is "$.index[*][?(@.name=='Hex')].inner.discriminant.expr" '"0x4"'
+ Hex = 0x4,
+ // @is "$.index[*][?(@.name=='Cast')].inner.discriminant.value" '"5"'
+ // @is "$.index[*][?(@.name=='Cast')].inner.discriminant.expr" '"{ _ }"'
+ Cast = 5 as isize,
+ // @is "$.index[*][?(@.name=='PubCall')].inner.discriminant.value" '"6"'
+ // @is "$.index[*][?(@.name=='PubCall')].inner.discriminant.expr" '"{ _ }"'
+ PubCall = six(),
+ // @is "$.index[*][?(@.name=='PrivCall')].inner.discriminant.value" '"7"'
+ // @is "$.index[*][?(@.name=='PrivCall')].inner.discriminant.expr" '"{ _ }"'
+ PrivCall = seven(),
+ // @is "$.index[*][?(@.name=='PrivConst')].inner.discriminant.value" '"8"'
+ // @is "$.index[*][?(@.name=='PrivConst')].inner.discriminant.expr" '"EIGHT"'
+ PrivConst = EIGHT,
+}
+
+pub const THREE: isize = 3;
+const EIGHT: isize = 8;
+
+pub const fn six() -> isize {
+ 6
+}
+const fn seven() -> isize {
+ 7
+}
diff --git a/tests/rustdoc-json/enums/discriminant/limits.rs b/tests/rustdoc-json/enums/discriminant/limits.rs
new file mode 100644
index 000000000..e56d5594f
--- /dev/null
+++ b/tests/rustdoc-json/enums/discriminant/limits.rs
@@ -0,0 +1,43 @@
+// ignore-tidy-linelength
+#![feature(repr128)]
+#![allow(incomplete_features)]
+
+#[repr(u64)]
+pub enum U64 {
+ // @is "$.index[*][?(@.name=='U64Min')].inner.discriminant.value" '"0"'
+ // @is "$.index[*][?(@.name=='U64Min')].inner.discriminant.expr" '"u64::MIN"'
+ U64Min = u64::MIN,
+ // @is "$.index[*][?(@.name=='U64Max')].inner.discriminant.value" '"18446744073709551615"'
+ // @is "$.index[*][?(@.name=='U64Max')].inner.discriminant.expr" '"u64::MAX"'
+ U64Max = u64::MAX,
+}
+
+#[repr(i64)]
+pub enum I64 {
+ // @is "$.index[*][?(@.name=='I64Min')].inner.discriminant.value" '"-9223372036854775808"'
+ // @is "$.index[*][?(@.name=='I64Min')].inner.discriminant.expr" '"i64::MIN"'
+ I64Min = i64::MIN,
+ // @is "$.index[*][?(@.name=='I64Max')].inner.discriminant.value" '"9223372036854775807"'
+ // @is "$.index[*][?(@.name=='I64Max')].inner.discriminant.expr" '"i64::MAX"'
+ I64Max = i64::MAX,
+}
+
+#[repr(u128)]
+pub enum U128 {
+ // @is "$.index[*][?(@.name=='U128Min')].inner.discriminant.value" '"0"'
+ // @is "$.index[*][?(@.name=='U128Min')].inner.discriminant.expr" '"u128::MIN"'
+ U128Min = u128::MIN,
+ // @is "$.index[*][?(@.name=='U128Max')].inner.discriminant.value" '"340282366920938463463374607431768211455"'
+ // @is "$.index[*][?(@.name=='U128Max')].inner.discriminant.expr" '"u128::MAX"'
+ U128Max = u128::MAX,
+}
+
+#[repr(i128)]
+pub enum I128 {
+ // @is "$.index[*][?(@.name=='I128Min')].inner.discriminant.value" '"-170141183460469231731687303715884105728"'
+ // @is "$.index[*][?(@.name=='I128Min')].inner.discriminant.expr" '"i128::MIN"'
+ I128Min = i128::MIN,
+ // @is "$.index[*][?(@.name=='I128Max')].inner.discriminant.value" '"170141183460469231731687303715884105727"'
+ // @is "$.index[*][?(@.name=='I128Max')].inner.discriminant.expr" '"i128::MAX"'
+ I128Max = i128::MAX,
+}
diff --git a/tests/rustdoc-json/enums/discriminant/num_underscore_and_suffix.rs b/tests/rustdoc-json/enums/discriminant/num_underscore_and_suffix.rs
new file mode 100644
index 000000000..6889b305f
--- /dev/null
+++ b/tests/rustdoc-json/enums/discriminant/num_underscore_and_suffix.rs
@@ -0,0 +1,15 @@
+#[repr(u32)]
+pub enum Foo {
+ // @is "$.index[*][?(@.name=='Basic')].inner.discriminant.value" '"0"'
+ // @is "$.index[*][?(@.name=='Basic')].inner.discriminant.expr" '"0"'
+ Basic = 0,
+ // @is "$.index[*][?(@.name=='Suffix')].inner.discriminant.value" '"10"'
+ // @is "$.index[*][?(@.name=='Suffix')].inner.discriminant.expr" '"10u32"'
+ Suffix = 10u32,
+ // @is "$.index[*][?(@.name=='Underscore')].inner.discriminant.value" '"100"'
+ // @is "$.index[*][?(@.name=='Underscore')].inner.discriminant.expr" '"1_0_0"'
+ Underscore = 1_0_0,
+ // @is "$.index[*][?(@.name=='SuffixUnderscore')].inner.discriminant.value" '"1000"'
+ // @is "$.index[*][?(@.name=='SuffixUnderscore')].inner.discriminant.expr" '"1_0_0_0u32"'
+ SuffixUnderscore = 1_0_0_0u32,
+}
diff --git a/tests/rustdoc-json/enums/discriminant/only_some_have_discriminant.rs b/tests/rustdoc-json/enums/discriminant/only_some_have_discriminant.rs
new file mode 100644
index 000000000..6a4f54de6
--- /dev/null
+++ b/tests/rustdoc-json/enums/discriminant/only_some_have_discriminant.rs
@@ -0,0 +1,10 @@
+pub enum Foo {
+ // @is "$.index[*][?(@.name=='Has')].inner.discriminant" '{"expr":"0", "value":"0"}'
+ Has = 0,
+ // @is "$.index[*][?(@.name=='Doesnt')].inner.discriminant" null
+ Doesnt,
+ // @is "$.index[*][?(@.name=='AlsoDoesnt')].inner.discriminant" null
+ AlsoDoesnt,
+ // @is "$.index[*][?(@.name=='AlsoHas')].inner.discriminant" '{"expr":"44", "value":"44"}'
+ AlsoHas = 44,
+}
diff --git a/tests/rustdoc-json/enums/discriminant/struct.rs b/tests/rustdoc-json/enums/discriminant/struct.rs
new file mode 100644
index 000000000..e91a632a3
--- /dev/null
+++ b/tests/rustdoc-json/enums/discriminant/struct.rs
@@ -0,0 +1,15 @@
+// ignore-tidy-linelength
+
+#[repr(i32)]
+// @is "$.index[*][?(@.name=='Foo')].attrs" '["#[repr(i32)]"]'
+pub enum Foo {
+ // @is "$.index[*][?(@.name=='Struct')].inner.discriminant" null
+ // @count "$.index[*][?(@.name=='Struct')].inner.kind.struct.fields[*]" 0
+ Struct {},
+ // @is "$.index[*][?(@.name=='StructWithDiscr')].inner.discriminant" '{"expr": "42", "value": "42"}'
+ // @count "$.index[*][?(@.name=='StructWithDiscr')].inner.kind.struct.fields[*]" 1
+ StructWithDiscr { x: i32 } = 42,
+ // @is "$.index[*][?(@.name=='StructWithHexDiscr')].inner.discriminant" '{"expr": "0x42", "value": "66"}'
+ // @count "$.index[*][?(@.name=='StructWithHexDiscr')].inner.kind.struct.fields[*]" 2
+ StructWithHexDiscr { x: i32, y: bool } = 0x42,
+}
diff --git a/tests/rustdoc-json/enums/discriminant/tuple.rs b/tests/rustdoc-json/enums/discriminant/tuple.rs
new file mode 100644
index 000000000..b94d5739e
--- /dev/null
+++ b/tests/rustdoc-json/enums/discriminant/tuple.rs
@@ -0,0 +1,15 @@
+// ignore-tidy-linelength
+
+#[repr(u32)]
+// @is "$.index[*][?(@.name=='Foo')].attrs" '["#[repr(u32)]"]'
+pub enum Foo {
+ // @is "$.index[*][?(@.name=='Tuple')].inner.discriminant" null
+ // @count "$.index[*][?(@.name=='Tuple')].inner.kind.tuple[*]" 0
+ Tuple(),
+ // @is "$.index[*][?(@.name=='TupleWithDiscr')].inner.discriminant" '{"expr": "1", "value": "1"}'
+ // @count "$.index[*][?(@.name=='TupleWithDiscr')].inner.kind.tuple[*]" 1
+ TupleWithDiscr(i32) = 1,
+ // @is "$.index[*][?(@.name=='TupleWithBinDiscr')].inner.discriminant" '{"expr": "0b10", "value": "2"}'
+ // @count "$.index[*][?(@.name=='TupleWithBinDiscr')].inner.kind.tuple[*]" 2
+ TupleWithBinDiscr(i32, i32) = 0b10,
+}
diff --git a/src/test/rustdoc-json/enums/doc_link_to_foreign_variant.rs b/tests/rustdoc-json/enums/doc_link_to_foreign_variant.rs
index 470b195a2..470b195a2 100644
--- a/src/test/rustdoc-json/enums/doc_link_to_foreign_variant.rs
+++ b/tests/rustdoc-json/enums/doc_link_to_foreign_variant.rs
diff --git a/tests/rustdoc-json/enums/field_hidden.rs b/tests/rustdoc-json/enums/field_hidden.rs
new file mode 100644
index 000000000..78a054314
--- /dev/null
+++ b/tests/rustdoc-json/enums/field_hidden.rs
@@ -0,0 +1,13 @@
+// Regression test for <https://github.com/rust-lang/rust/issues/100529>.
+
+#![no_core]
+#![feature(no_core)]
+
+// @has "$.index[*][?(@.name=='ParseError')]"
+// @has "$.index[*][?(@.name=='UnexpectedEndTag')]"
+// @is "$.index[*][?(@.name=='UnexpectedEndTag')].inner.kind.tuple" [null]
+// @is "$.index[*][?(@.name=='UnexpectedEndTag')].inner.discriminant" null
+
+pub enum ParseError {
+ UnexpectedEndTag(#[doc(hidden)] u32),
+}
diff --git a/tests/rustdoc-json/enums/kind.rs b/tests/rustdoc-json/enums/kind.rs
new file mode 100644
index 000000000..1787a859c
--- /dev/null
+++ b/tests/rustdoc-json/enums/kind.rs
@@ -0,0 +1,32 @@
+// ignore-tidy-linelength
+
+#![feature(no_core)]
+#![no_core]
+
+pub enum Foo {
+ // @set Unit = "$.index[*][?(@.name=='Unit')].id"
+ // @is "$.index[*][?(@.name=='Unit')].inner.kind" '"plain"'
+ Unit,
+ // @set Named = "$.index[*][?(@.name=='Named')].id"
+ // @is "$.index[*][?(@.name=='Named')].inner.kind.struct" '{"fields": [], "fields_stripped": false}'
+ Named {},
+ // @set Tuple = "$.index[*][?(@.name=='Tuple')].id"
+ // @is "$.index[*][?(@.name=='Tuple')].inner.kind.tuple" []
+ Tuple(),
+ // @set NamedField = "$.index[*][?(@.name=='NamedField')].id"
+ // @set x = "$.index[*][?(@.name=='x' && @.kind=='struct_field')].id"
+ // @is "$.index[*][?(@.name=='NamedField')].inner.kind.struct.fields[*]" $x
+ // @is "$.index[*][?(@.name=='NamedField')].inner.kind.struct.fields_stripped" false
+ NamedField { x: i32 },
+ // @set TupleField = "$.index[*][?(@.name=='TupleField')].id"
+ // @set tup_field = "$.index[*][?(@.name=='0' && @.kind=='struct_field')].id"
+ // @is "$.index[*][?(@.name=='TupleField')].inner.kind.tuple[*]" $tup_field
+ TupleField(i32),
+}
+
+// @is "$.index[*][?(@.name=='Foo')].inner.variants[0]" $Unit
+// @is "$.index[*][?(@.name=='Foo')].inner.variants[1]" $Named
+// @is "$.index[*][?(@.name=='Foo')].inner.variants[2]" $Tuple
+// @is "$.index[*][?(@.name=='Foo')].inner.variants[3]" $NamedField
+// @is "$.index[*][?(@.name=='Foo')].inner.variants[4]" $TupleField
+// @count "$.index[*][?(@.name=='Foo')].inner.variants[*]" 5
diff --git a/tests/rustdoc-json/enums/struct_field_hidden.rs b/tests/rustdoc-json/enums/struct_field_hidden.rs
new file mode 100644
index 000000000..de939cde2
--- /dev/null
+++ b/tests/rustdoc-json/enums/struct_field_hidden.rs
@@ -0,0 +1,16 @@
+pub enum Foo {
+ Variant {
+ #[doc(hidden)]
+ a: i32,
+ // @set b = "$.index[*][?(@.name=='b')].id"
+ b: i32,
+ #[doc(hidden)]
+ x: i32,
+ // @set y = "$.index[*][?(@.name=='y')].id"
+ y: i32,
+ },
+ // @is "$.index[*][?(@.name=='Variant')].inner.kind.struct.fields_stripped" true
+ // @is "$.index[*][?(@.name=='Variant')].inner.kind.struct.fields[0]" $b
+ // @is "$.index[*][?(@.name=='Variant')].inner.kind.struct.fields[1]" $y
+ // @count "$.index[*][?(@.name=='Variant')].inner.kind.struct.fields[*]" 2
+}
diff --git a/tests/rustdoc-json/enums/tuple_fields_hidden.rs b/tests/rustdoc-json/enums/tuple_fields_hidden.rs
new file mode 100644
index 000000000..70bfbb818
--- /dev/null
+++ b/tests/rustdoc-json/enums/tuple_fields_hidden.rs
@@ -0,0 +1,83 @@
+#![feature(no_core)]
+#![no_core]
+
+// @set 1.1.0 = "$.index[*][?(@.docs=='1.1.0')].id"
+// @set 2.1.0 = "$.index[*][?(@.docs=='2.1.0')].id"
+// @set 2.1.1 = "$.index[*][?(@.docs=='2.1.1')].id"
+// @set 2.2.1 = "$.index[*][?(@.docs=='2.2.1')].id"
+// @set 2.3.0 = "$.index[*][?(@.docs=='2.3.0')].id"
+// @set 3.1.1 = "$.index[*][?(@.docs=='3.1.1')].id"
+// @set 3.1.2 = "$.index[*][?(@.docs=='3.1.2')].id"
+// @set 3.2.0 = "$.index[*][?(@.docs=='3.2.0')].id"
+// @set 3.2.2 = "$.index[*][?(@.docs=='3.2.2')].id"
+// @set 3.3.0 = "$.index[*][?(@.docs=='3.3.0')].id"
+// @set 3.3.1 = "$.index[*][?(@.docs=='3.3.1')].id"
+
+pub enum EnumWithStrippedTupleVariants {
+ // @count "$.index[*][?(@.name=='None')].inner.kind.tuple[*]" 0
+ None(),
+
+ // @count "$.index[*][?(@.name=='One')].inner.kind.tuple[*]" 1
+ // @is "$.index[*][?(@.name=='One')].inner.kind.tuple[0]" $1.1.0
+ One(/** 1.1.0*/ bool),
+ // @count "$.index[*][?(@.name=='OneHidden')].inner.kind.tuple[*]" 1
+ // @is "$.index[*][?(@.name=='OneHidden')].inner.kind.tuple[0]" null
+ OneHidden(#[doc(hidden)] bool),
+
+ // @count "$.index[*][?(@.name=='Two')].inner.kind.tuple[*]" 2
+ // @is "$.index[*][?(@.name=='Two')].inner.kind.tuple[0]" $2.1.0
+ // @is "$.index[*][?(@.name=='Two')].inner.kind.tuple[1]" $2.1.1
+ Two(/** 2.1.0*/ bool, /** 2.1.1*/ bool),
+ // @count "$.index[*][?(@.name=='TwoLeftHidden')].inner.kind.tuple[*]" 2
+ // @is "$.index[*][?(@.name=='TwoLeftHidden')].inner.kind.tuple[0]" null
+ // @is "$.index[*][?(@.name=='TwoLeftHidden')].inner.kind.tuple[1]" $2.2.1
+ TwoLeftHidden(#[doc(hidden)] bool, /** 2.2.1*/ bool),
+ // @count "$.index[*][?(@.name=='TwoRightHidden')].inner.kind.tuple[*]" 2
+ // @is "$.index[*][?(@.name=='TwoRightHidden')].inner.kind.tuple[0]" $2.3.0
+ // @is "$.index[*][?(@.name=='TwoRightHidden')].inner.kind.tuple[1]" null
+ TwoRightHidden(/** 2.3.0*/ bool, #[doc(hidden)] bool),
+ // @count "$.index[*][?(@.name=='TwoBothHidden')].inner.kind.tuple[*]" 2
+ // @is "$.index[*][?(@.name=='TwoBothHidden')].inner.kind.tuple[0]" null
+ // @is "$.index[*][?(@.name=='TwoBothHidden')].inner.kind.tuple[1]" null
+ TwoBothHidden(#[doc(hidden)] bool, #[doc(hidden)] bool),
+
+ // @count "$.index[*][?(@.name=='Three1')].inner.kind.tuple[*]" 3
+ // @is "$.index[*][?(@.name=='Three1')].inner.kind.tuple[0]" null
+ // @is "$.index[*][?(@.name=='Three1')].inner.kind.tuple[1]" $3.1.1
+ // @is "$.index[*][?(@.name=='Three1')].inner.kind.tuple[2]" $3.1.2
+ Three1(#[doc(hidden)] bool, /** 3.1.1*/ bool, /** 3.1.2*/ bool),
+ // @count "$.index[*][?(@.name=='Three2')].inner.kind.tuple[*]" 3
+ // @is "$.index[*][?(@.name=='Three2')].inner.kind.tuple[0]" $3.2.0
+ // @is "$.index[*][?(@.name=='Three2')].inner.kind.tuple[1]" null
+ // @is "$.index[*][?(@.name=='Three2')].inner.kind.tuple[2]" $3.2.2
+ Three2(/** 3.2.0*/ bool, #[doc(hidden)] bool, /** 3.2.2*/ bool),
+ // @count "$.index[*][?(@.name=='Three3')].inner.kind.tuple[*]" 3
+ // @is "$.index[*][?(@.name=='Three3')].inner.kind.tuple[0]" $3.3.0
+ // @is "$.index[*][?(@.name=='Three3')].inner.kind.tuple[1]" $3.3.1
+ // @is "$.index[*][?(@.name=='Three3')].inner.kind.tuple[2]" null
+ Three3(/** 3.3.0*/ bool, /** 3.3.1*/ bool, #[doc(hidden)] bool),
+}
+
+// @is "$.index[*][?(@.docs=='1.1.0')].name" '"0"'
+// @is "$.index[*][?(@.docs=='2.1.0')].name" '"0"'
+// @is "$.index[*][?(@.docs=='2.1.1')].name" '"1"'
+// @is "$.index[*][?(@.docs=='2.2.1')].name" '"1"'
+// @is "$.index[*][?(@.docs=='2.3.0')].name" '"0"'
+// @is "$.index[*][?(@.docs=='3.1.1')].name" '"1"'
+// @is "$.index[*][?(@.docs=='3.1.2')].name" '"2"'
+// @is "$.index[*][?(@.docs=='3.2.0')].name" '"0"'
+// @is "$.index[*][?(@.docs=='3.2.2')].name" '"2"'
+// @is "$.index[*][?(@.docs=='3.3.0')].name" '"0"'
+// @is "$.index[*][?(@.docs=='3.3.1')].name" '"1"'
+
+// @is "$.index[*][?(@.docs=='1.1.0')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='2.1.0')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='2.1.1')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='2.2.1')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='2.3.0')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='3.1.1')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='3.1.2')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='3.2.0')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='3.2.2')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='3.3.0')].inner" '{"kind": "primitive", "inner": "bool"}'
+// @is "$.index[*][?(@.docs=='3.3.1')].inner" '{"kind": "primitive", "inner": "bool"}'
diff --git a/src/test/rustdoc-json/enums/use_glob.rs b/tests/rustdoc-json/enums/use_glob.rs
index 62b8b832a..62b8b832a 100644
--- a/src/test/rustdoc-json/enums/use_glob.rs
+++ b/tests/rustdoc-json/enums/use_glob.rs
diff --git a/src/test/rustdoc-json/enums/use_variant.rs b/tests/rustdoc-json/enums/use_variant.rs
index 5f0d2b9b1..5f0d2b9b1 100644
--- a/src/test/rustdoc-json/enums/use_variant.rs
+++ b/tests/rustdoc-json/enums/use_variant.rs
diff --git a/src/test/rustdoc-json/enums/use_variant_foreign.rs b/tests/rustdoc-json/enums/use_variant_foreign.rs
index 11bb6ce1f..11bb6ce1f 100644
--- a/src/test/rustdoc-json/enums/use_variant_foreign.rs
+++ b/tests/rustdoc-json/enums/use_variant_foreign.rs
diff --git a/tests/rustdoc-json/enums/variant_struct.rs b/tests/rustdoc-json/enums/variant_struct.rs
new file mode 100644
index 000000000..bc870c502
--- /dev/null
+++ b/tests/rustdoc-json/enums/variant_struct.rs
@@ -0,0 +1,10 @@
+// @is "$.index[*][?(@.name=='EnumStruct')].visibility" \"public\"
+// @is "$.index[*][?(@.name=='EnumStruct')].kind" \"enum\"
+pub enum EnumStruct {
+ // @is "$.index[*][?(@.name=='x')].kind" \"struct_field\"
+ // @set x = "$.index[*][?(@.name=='x')].id"
+ // @is "$.index[*][?(@.name=='y')].kind" \"struct_field\"
+ // @set y = "$.index[*][?(@.name=='y')].id"
+ // @ismany "$.index[*][?(@.name=='VariantS')].inner.kind.struct.fields[*]" $x $y
+ VariantS { x: u32, y: String },
+}
diff --git a/tests/rustdoc-json/enums/variant_tuple_struct.rs b/tests/rustdoc-json/enums/variant_tuple_struct.rs
new file mode 100644
index 000000000..d1207bbfb
--- /dev/null
+++ b/tests/rustdoc-json/enums/variant_tuple_struct.rs
@@ -0,0 +1,10 @@
+// @is "$.index[*][?(@.name=='EnumTupleStruct')].visibility" \"public\"
+// @is "$.index[*][?(@.name=='EnumTupleStruct')].kind" \"enum\"
+pub enum EnumTupleStruct {
+ // @is "$.index[*][?(@.name=='0')].kind" \"struct_field\"
+ // @set f0 = "$.index[*][?(@.name=='0')].id"
+ // @is "$.index[*][?(@.name=='1')].kind" \"struct_field\"
+ // @set f1 = "$.index[*][?(@.name=='1')].id"
+ // @ismany "$.index[*][?(@.name=='VariantA')].inner.kind.tuple[*]" $f0 $f1
+ VariantA(u32, String),
+}
diff --git a/src/test/rustdoc-json/fn_pointer/abi.rs b/tests/rustdoc-json/fn_pointer/abi.rs
index 3c1a453d1..3c1a453d1 100644
--- a/src/test/rustdoc-json/fn_pointer/abi.rs
+++ b/tests/rustdoc-json/fn_pointer/abi.rs
diff --git a/src/test/rustdoc-json/fn_pointer/generics.rs b/tests/rustdoc-json/fn_pointer/generics.rs
index a93b01ac2..a93b01ac2 100644
--- a/src/test/rustdoc-json/fn_pointer/generics.rs
+++ b/tests/rustdoc-json/fn_pointer/generics.rs
diff --git a/src/test/rustdoc-json/fn_pointer/qualifiers.rs b/tests/rustdoc-json/fn_pointer/qualifiers.rs
index bd65bb3ee..bd65bb3ee 100644
--- a/src/test/rustdoc-json/fn_pointer/qualifiers.rs
+++ b/tests/rustdoc-json/fn_pointer/qualifiers.rs
diff --git a/src/test/rustdoc-json/fns/abi.rs b/tests/rustdoc-json/fns/abi.rs
index 0e8b78bc0..0e8b78bc0 100644
--- a/src/test/rustdoc-json/fns/abi.rs
+++ b/tests/rustdoc-json/fns/abi.rs
diff --git a/src/test/rustdoc-json/fns/async_return.rs b/tests/rustdoc-json/fns/async_return.rs
index b89781ca9..b89781ca9 100644
--- a/src/test/rustdoc-json/fns/async_return.rs
+++ b/tests/rustdoc-json/fns/async_return.rs
diff --git a/src/test/rustdoc-json/fns/generic_args.rs b/tests/rustdoc-json/fns/generic_args.rs
index eec295efe..eec295efe 100644
--- a/src/test/rustdoc-json/fns/generic_args.rs
+++ b/tests/rustdoc-json/fns/generic_args.rs
diff --git a/src/test/rustdoc-json/fns/generic_returns.rs b/tests/rustdoc-json/fns/generic_returns.rs
index a9bc2d5d7..a9bc2d5d7 100644
--- a/src/test/rustdoc-json/fns/generic_returns.rs
+++ b/tests/rustdoc-json/fns/generic_returns.rs
diff --git a/src/test/rustdoc-json/fns/generics.rs b/tests/rustdoc-json/fns/generics.rs
index 7b70ff1df..7b70ff1df 100644
--- a/src/test/rustdoc-json/fns/generics.rs
+++ b/tests/rustdoc-json/fns/generics.rs
diff --git a/src/test/rustdoc-json/fns/pattern_arg.rs b/tests/rustdoc-json/fns/pattern_arg.rs
index 32b7da0fa..32b7da0fa 100644
--- a/src/test/rustdoc-json/fns/pattern_arg.rs
+++ b/tests/rustdoc-json/fns/pattern_arg.rs
diff --git a/src/test/rustdoc-json/fns/qualifiers.rs b/tests/rustdoc-json/fns/qualifiers.rs
index 7ff542900..7ff542900 100644
--- a/src/test/rustdoc-json/fns/qualifiers.rs
+++ b/tests/rustdoc-json/fns/qualifiers.rs
diff --git a/src/test/rustdoc-json/fns/return_type_alias.rs b/tests/rustdoc-json/fns/return_type_alias.rs
index 2578bb49a..2578bb49a 100644
--- a/src/test/rustdoc-json/fns/return_type_alias.rs
+++ b/tests/rustdoc-json/fns/return_type_alias.rs
diff --git a/src/test/rustdoc-json/generic-associated-types/gats.rs b/tests/rustdoc-json/generic-associated-types/gats.rs
index e5809783a..e5809783a 100644
--- a/src/test/rustdoc-json/generic-associated-types/gats.rs
+++ b/tests/rustdoc-json/generic-associated-types/gats.rs
diff --git a/src/test/rustdoc-json/generic_impl.rs b/tests/rustdoc-json/generic_impl.rs
index 31f41d0f3..31f41d0f3 100644
--- a/src/test/rustdoc-json/generic_impl.rs
+++ b/tests/rustdoc-json/generic_impl.rs
diff --git a/src/test/rustdoc-json/glob_import.rs b/tests/rustdoc-json/glob_import.rs
index 00051b121..00051b121 100644
--- a/src/test/rustdoc-json/glob_import.rs
+++ b/tests/rustdoc-json/glob_import.rs
diff --git a/src/test/rustdoc-json/impls/auto.rs b/tests/rustdoc-json/impls/auto.rs
index 50d852414..50d852414 100644
--- a/src/test/rustdoc-json/impls/auto.rs
+++ b/tests/rustdoc-json/impls/auto.rs
diff --git a/src/test/rustdoc-json/impls/auxiliary/foreign_struct.rs b/tests/rustdoc-json/impls/auxiliary/foreign_struct.rs
index 832d0fce5..832d0fce5 100644
--- a/src/test/rustdoc-json/impls/auxiliary/foreign_struct.rs
+++ b/tests/rustdoc-json/impls/auxiliary/foreign_struct.rs
diff --git a/src/test/rustdoc-json/impls/auxiliary/foreign_trait.rs b/tests/rustdoc-json/impls/auxiliary/foreign_trait.rs
index 2c81bee61..2c81bee61 100644
--- a/src/test/rustdoc-json/impls/auxiliary/foreign_trait.rs
+++ b/tests/rustdoc-json/impls/auxiliary/foreign_trait.rs
diff --git a/src/test/rustdoc-json/impls/blanket_with_local.rs b/tests/rustdoc-json/impls/blanket_with_local.rs
index 2fb4a84b9..2fb4a84b9 100644
--- a/src/test/rustdoc-json/impls/blanket_with_local.rs
+++ b/tests/rustdoc-json/impls/blanket_with_local.rs
diff --git a/src/test/rustdoc-json/impls/foreign_for_local.rs b/tests/rustdoc-json/impls/foreign_for_local.rs
index 290c2d571..290c2d571 100644
--- a/src/test/rustdoc-json/impls/foreign_for_local.rs
+++ b/tests/rustdoc-json/impls/foreign_for_local.rs
diff --git a/src/test/rustdoc-json/impls/import_from_private.rs b/tests/rustdoc-json/impls/import_from_private.rs
index fa88b6113..fa88b6113 100644
--- a/src/test/rustdoc-json/impls/import_from_private.rs
+++ b/tests/rustdoc-json/impls/import_from_private.rs
diff --git a/src/test/rustdoc-json/impls/local_for_foreign.rs b/tests/rustdoc-json/impls/local_for_foreign.rs
index 74f2f08b5..74f2f08b5 100644
--- a/src/test/rustdoc-json/impls/local_for_foreign.rs
+++ b/tests/rustdoc-json/impls/local_for_foreign.rs
diff --git a/src/test/rustdoc-json/impls/local_for_local.rs b/tests/rustdoc-json/impls/local_for_local.rs
index 93dedb7ec..93dedb7ec 100644
--- a/src/test/rustdoc-json/impls/local_for_local.rs
+++ b/tests/rustdoc-json/impls/local_for_local.rs
diff --git a/src/test/rustdoc-json/impls/local_for_local_primitive.rs b/tests/rustdoc-json/impls/local_for_local_primitive.rs
index 38e7e2658..38e7e2658 100644
--- a/src/test/rustdoc-json/impls/local_for_local_primitive.rs
+++ b/tests/rustdoc-json/impls/local_for_local_primitive.rs
diff --git a/src/test/rustdoc-json/impls/local_for_primitive.rs b/tests/rustdoc-json/impls/local_for_primitive.rs
index 7702a526f..7702a526f 100644
--- a/src/test/rustdoc-json/impls/local_for_primitive.rs
+++ b/tests/rustdoc-json/impls/local_for_primitive.rs
diff --git a/src/test/rustdoc-json/intra-doc-links/auxiliary/enum_variant_in_trait_method.rs b/tests/rustdoc-json/intra-doc-links/auxiliary/enum_variant_in_trait_method.rs
index bfe85f59e..bfe85f59e 100644
--- a/src/test/rustdoc-json/intra-doc-links/auxiliary/enum_variant_in_trait_method.rs
+++ b/tests/rustdoc-json/intra-doc-links/auxiliary/enum_variant_in_trait_method.rs
diff --git a/src/test/rustdoc-json/intra-doc-links/foreign_variant.rs b/tests/rustdoc-json/intra-doc-links/foreign_variant.rs
index e29682313..e29682313 100644
--- a/src/test/rustdoc-json/intra-doc-links/foreign_variant.rs
+++ b/tests/rustdoc-json/intra-doc-links/foreign_variant.rs
diff --git a/src/test/rustdoc-json/intra-doc-links/non_page.rs b/tests/rustdoc-json/intra-doc-links/non_page.rs
index 73c5334bb..73c5334bb 100644
--- a/src/test/rustdoc-json/intra-doc-links/non_page.rs
+++ b/tests/rustdoc-json/intra-doc-links/non_page.rs
diff --git a/src/test/rustdoc-json/intra-doc-links/user_written.rs b/tests/rustdoc-json/intra-doc-links/user_written.rs
index 6871dfea4..6871dfea4 100644
--- a/src/test/rustdoc-json/intra-doc-links/user_written.rs
+++ b/tests/rustdoc-json/intra-doc-links/user_written.rs
diff --git a/src/test/rustdoc-json/keyword.rs b/tests/rustdoc-json/keyword.rs
index 3446b212c..3446b212c 100644
--- a/src/test/rustdoc-json/keyword.rs
+++ b/tests/rustdoc-json/keyword.rs
diff --git a/src/test/rustdoc-json/lifetime/longest.rs b/tests/rustdoc-json/lifetime/longest.rs
index 326dab8e5..326dab8e5 100644
--- a/src/test/rustdoc-json/lifetime/longest.rs
+++ b/tests/rustdoc-json/lifetime/longest.rs
diff --git a/src/test/rustdoc-json/lifetime/outlives.rs b/tests/rustdoc-json/lifetime/outlives.rs
index e15a533ef..e15a533ef 100644
--- a/src/test/rustdoc-json/lifetime/outlives.rs
+++ b/tests/rustdoc-json/lifetime/outlives.rs
diff --git a/src/test/rustdoc-json/methods/abi.rs b/tests/rustdoc-json/methods/abi.rs
index 4c97d97ce..4c97d97ce 100644
--- a/src/test/rustdoc-json/methods/abi.rs
+++ b/tests/rustdoc-json/methods/abi.rs
diff --git a/src/test/rustdoc-json/methods/qualifiers.rs b/tests/rustdoc-json/methods/qualifiers.rs
index b9a5e5601..b9a5e5601 100644
--- a/src/test/rustdoc-json/methods/qualifiers.rs
+++ b/tests/rustdoc-json/methods/qualifiers.rs
diff --git a/src/test/rustdoc-json/nested.rs b/tests/rustdoc-json/nested.rs
index ee2d2efa9..ee2d2efa9 100644
--- a/src/test/rustdoc-json/nested.rs
+++ b/tests/rustdoc-json/nested.rs
diff --git a/src/test/rustdoc-json/output_generics.rs b/tests/rustdoc-json/output_generics.rs
index 04b1a358f..04b1a358f 100644
--- a/src/test/rustdoc-json/output_generics.rs
+++ b/tests/rustdoc-json/output_generics.rs
diff --git a/tests/rustdoc-json/primitives/local_primitive.rs b/tests/rustdoc-json/primitives/local_primitive.rs
new file mode 100644
index 000000000..f27e6a2ad
--- /dev/null
+++ b/tests/rustdoc-json/primitives/local_primitive.rs
@@ -0,0 +1,21 @@
+// Regression test for <https://github.com/rust-lang/rust/issues/104064>.
+
+#![feature(no_core)]
+#![feature(rustc_attrs)]
+#![feature(rustdoc_internals)]
+#![no_core]
+#![rustc_coherence_is_core]
+
+//! Link to [i32][prim@i32] [i64][prim@i64]
+
+#[doc(primitive = "i32")]
+mod prim_i32 {}
+
+// @set local_i32 = "$.index[*][?(@.name=='i32')].id"
+
+// @has "$.index[*][?(@.name=='local_primitive')]"
+// @ismany "$.index[*][?(@.name=='local_primitive')].inner.items[*]" $local_i32
+// @is "$.index[*][?(@.name=='local_primitive')].links['prim@i32']" $local_i32
+
+// Let's ensure the `prim_i32` module isn't present in the output JSON:
+// @!has "$.index[*][?(@.name=='prim_i32')]"
diff --git a/src/test/rustdoc-json/primitives/primitive_impls.rs b/tests/rustdoc-json/primitives/primitive_impls.rs
index 1fc937406..1fc937406 100644
--- a/src/test/rustdoc-json/primitives/primitive_impls.rs
+++ b/tests/rustdoc-json/primitives/primitive_impls.rs
diff --git a/src/test/rustdoc-json/primitives/primitive_overloading.rs b/tests/rustdoc-json/primitives/primitive_overloading.rs
index 56b35cd14..56b35cd14 100644
--- a/src/test/rustdoc-json/primitives/primitive_overloading.rs
+++ b/tests/rustdoc-json/primitives/primitive_overloading.rs
diff --git a/src/test/rustdoc-json/primitives/primitive_type.rs b/tests/rustdoc-json/primitives/primitive_type.rs
index 8024044bc..8024044bc 100644
--- a/src/test/rustdoc-json/primitives/primitive_type.rs
+++ b/tests/rustdoc-json/primitives/primitive_type.rs
diff --git a/src/test/rustdoc-json/primitives/use_primitive.rs b/tests/rustdoc-json/primitives/use_primitive.rs
index e22927374..e22927374 100644
--- a/src/test/rustdoc-json/primitives/use_primitive.rs
+++ b/tests/rustdoc-json/primitives/use_primitive.rs
diff --git a/src/test/rustdoc-json/reexport/auxiliary/pub-struct.rs b/tests/rustdoc-json/reexport/auxiliary/pub-struct.rs
index 4a835673a..4a835673a 100644
--- a/src/test/rustdoc-json/reexport/auxiliary/pub-struct.rs
+++ b/tests/rustdoc-json/reexport/auxiliary/pub-struct.rs
diff --git a/src/test/rustdoc-json/reexport/auxiliary/trait_with_docs.rs b/tests/rustdoc-json/reexport/auxiliary/trait_with_docs.rs
index 1e87966b2..1e87966b2 100644
--- a/src/test/rustdoc-json/reexport/auxiliary/trait_with_docs.rs
+++ b/tests/rustdoc-json/reexport/auxiliary/trait_with_docs.rs
diff --git a/src/test/rustdoc-json/reexport/export_extern_crate_as_self.rs b/tests/rustdoc-json/reexport/export_extern_crate_as_self.rs
index f076feb71..f076feb71 100644
--- a/src/test/rustdoc-json/reexport/export_extern_crate_as_self.rs
+++ b/tests/rustdoc-json/reexport/export_extern_crate_as_self.rs
diff --git a/src/test/rustdoc-json/reexport/glob_collision.rs b/tests/rustdoc-json/reexport/glob_collision.rs
index f91144dbf..f91144dbf 100644
--- a/src/test/rustdoc-json/reexport/glob_collision.rs
+++ b/tests/rustdoc-json/reexport/glob_collision.rs
diff --git a/src/test/rustdoc-json/reexport/glob_empty_mod.rs b/tests/rustdoc-json/reexport/glob_empty_mod.rs
index da6822835..da6822835 100644
--- a/src/test/rustdoc-json/reexport/glob_empty_mod.rs
+++ b/tests/rustdoc-json/reexport/glob_empty_mod.rs
diff --git a/src/test/rustdoc-json/reexport/glob_extern.rs b/tests/rustdoc-json/reexport/glob_extern.rs
index 7a1e8c11f..7a1e8c11f 100644
--- a/src/test/rustdoc-json/reexport/glob_extern.rs
+++ b/tests/rustdoc-json/reexport/glob_extern.rs
diff --git a/src/test/rustdoc-json/reexport/glob_private.rs b/tests/rustdoc-json/reexport/glob_private.rs
index 3a83a2081..3a83a2081 100644
--- a/src/test/rustdoc-json/reexport/glob_private.rs
+++ b/tests/rustdoc-json/reexport/glob_private.rs
diff --git a/src/test/rustdoc-json/reexport/in_root_and_mod.rs b/tests/rustdoc-json/reexport/in_root_and_mod.rs
index 7b97ebf21..7b97ebf21 100644
--- a/src/test/rustdoc-json/reexport/in_root_and_mod.rs
+++ b/tests/rustdoc-json/reexport/in_root_and_mod.rs
diff --git a/src/test/rustdoc-json/reexport/in_root_and_mod_pub.rs b/tests/rustdoc-json/reexport/in_root_and_mod_pub.rs
index f6d932d92..f6d932d92 100644
--- a/src/test/rustdoc-json/reexport/in_root_and_mod_pub.rs
+++ b/tests/rustdoc-json/reexport/in_root_and_mod_pub.rs
diff --git a/src/test/rustdoc-json/reexport/macro.rs b/tests/rustdoc-json/reexport/macro.rs
index b4882100f..b4882100f 100644
--- a/src/test/rustdoc-json/reexport/macro.rs
+++ b/tests/rustdoc-json/reexport/macro.rs
diff --git a/src/test/rustdoc-json/reexport/mod_not_included.rs b/tests/rustdoc-json/reexport/mod_not_included.rs
index 7b7600ef2..7b7600ef2 100644
--- a/src/test/rustdoc-json/reexport/mod_not_included.rs
+++ b/tests/rustdoc-json/reexport/mod_not_included.rs
diff --git a/src/test/rustdoc-json/reexport/private_twice_one_inline.rs b/tests/rustdoc-json/reexport/private_twice_one_inline.rs
index 687a3b2ac..687a3b2ac 100644
--- a/src/test/rustdoc-json/reexport/private_twice_one_inline.rs
+++ b/tests/rustdoc-json/reexport/private_twice_one_inline.rs
diff --git a/src/test/rustdoc-json/reexport/private_two_names.rs b/tests/rustdoc-json/reexport/private_two_names.rs
index 9858538a9..9858538a9 100644
--- a/src/test/rustdoc-json/reexport/private_two_names.rs
+++ b/tests/rustdoc-json/reexport/private_two_names.rs
diff --git a/tests/rustdoc-json/reexport/pub_use_doc_hidden.rs b/tests/rustdoc-json/reexport/pub_use_doc_hidden.rs
new file mode 100644
index 000000000..a2a25d084
--- /dev/null
+++ b/tests/rustdoc-json/reexport/pub_use_doc_hidden.rs
@@ -0,0 +1,15 @@
+// Regression test for <https://github.com/rust-lang/rust/issues/106379>
+
+#![feature(no_core)]
+#![no_core]
+
+mod repeat_n {
+ #[doc(hidden)]
+ pub struct RepeatN {}
+}
+
+pub use repeat_n::RepeatN;
+
+// @count "$.index[*][?(@.name=='pub_use_doc_hidden')].inner.items[*]" 0
+// @!has "$.index[*][?(@.kind=='struct')]"
+// @!has "$.index[*][?(@.kind=='import')]"
diff --git a/src/test/rustdoc-json/reexport/reexport_method_from_private_module.rs b/tests/rustdoc-json/reexport/reexport_method_from_private_module.rs
index 239b1a23b..239b1a23b 100644
--- a/src/test/rustdoc-json/reexport/reexport_method_from_private_module.rs
+++ b/tests/rustdoc-json/reexport/reexport_method_from_private_module.rs
diff --git a/src/test/rustdoc-json/reexport/rename_private.rs b/tests/rustdoc-json/reexport/rename_private.rs
index 8fd850f9b..8fd850f9b 100644
--- a/src/test/rustdoc-json/reexport/rename_private.rs
+++ b/tests/rustdoc-json/reexport/rename_private.rs
diff --git a/src/test/rustdoc-json/reexport/rename_public.rs b/tests/rustdoc-json/reexport/rename_public.rs
index e30907fe2..e30907fe2 100644
--- a/src/test/rustdoc-json/reexport/rename_public.rs
+++ b/tests/rustdoc-json/reexport/rename_public.rs
diff --git a/src/test/rustdoc-json/reexport/same_type_reexported_more_than_once.rs b/tests/rustdoc-json/reexport/same_type_reexported_more_than_once.rs
index 880dbdc44..880dbdc44 100644
--- a/src/test/rustdoc-json/reexport/same_type_reexported_more_than_once.rs
+++ b/tests/rustdoc-json/reexport/same_type_reexported_more_than_once.rs
diff --git a/src/test/rustdoc-json/reexport/simple_private.rs b/tests/rustdoc-json/reexport/simple_private.rs
index d058ce059..d058ce059 100644
--- a/src/test/rustdoc-json/reexport/simple_private.rs
+++ b/tests/rustdoc-json/reexport/simple_private.rs
diff --git a/src/test/rustdoc-json/reexport/simple_public.rs b/tests/rustdoc-json/reexport/simple_public.rs
index e64a0dcb7..e64a0dcb7 100644
--- a/src/test/rustdoc-json/reexport/simple_public.rs
+++ b/tests/rustdoc-json/reexport/simple_public.rs
diff --git a/src/test/rustdoc-json/reexport/synthesize_trait_with_docs.rs b/tests/rustdoc-json/reexport/synthesize_trait_with_docs.rs
index 25a7c08d6..25a7c08d6 100644
--- a/src/test/rustdoc-json/reexport/synthesize_trait_with_docs.rs
+++ b/tests/rustdoc-json/reexport/synthesize_trait_with_docs.rs
diff --git a/src/test/rustdoc-json/return_private.rs b/tests/rustdoc-json/return_private.rs
index a8d1fae30..a8d1fae30 100644
--- a/src/test/rustdoc-json/return_private.rs
+++ b/tests/rustdoc-json/return_private.rs
diff --git a/src/test/rustdoc-json/stripped_modules.rs b/tests/rustdoc-json/stripped_modules.rs
index d2664b49e..d2664b49e 100644
--- a/src/test/rustdoc-json/stripped_modules.rs
+++ b/tests/rustdoc-json/stripped_modules.rs
diff --git a/src/test/rustdoc-json/structs/plain_all_pub.rs b/tests/rustdoc-json/structs/plain_all_pub.rs
index b86ab93c2..b86ab93c2 100644
--- a/src/test/rustdoc-json/structs/plain_all_pub.rs
+++ b/tests/rustdoc-json/structs/plain_all_pub.rs
diff --git a/src/test/rustdoc-json/structs/plain_doc_hidden.rs b/tests/rustdoc-json/structs/plain_doc_hidden.rs
index 7800b55a4..7800b55a4 100644
--- a/src/test/rustdoc-json/structs/plain_doc_hidden.rs
+++ b/tests/rustdoc-json/structs/plain_doc_hidden.rs
diff --git a/src/test/rustdoc-json/structs/plain_empty.rs b/tests/rustdoc-json/structs/plain_empty.rs
index 1d01b8bc1..1d01b8bc1 100644
--- a/src/test/rustdoc-json/structs/plain_empty.rs
+++ b/tests/rustdoc-json/structs/plain_empty.rs
diff --git a/src/test/rustdoc-json/structs/plain_pub_priv.rs b/tests/rustdoc-json/structs/plain_pub_priv.rs
index 9b771224d..9b771224d 100644
--- a/src/test/rustdoc-json/structs/plain_pub_priv.rs
+++ b/tests/rustdoc-json/structs/plain_pub_priv.rs
diff --git a/src/test/rustdoc-json/structs/tuple.rs b/tests/rustdoc-json/structs/tuple.rs
index 6bdb753ee..6bdb753ee 100644
--- a/src/test/rustdoc-json/structs/tuple.rs
+++ b/tests/rustdoc-json/structs/tuple.rs
diff --git a/src/test/rustdoc-json/structs/tuple_empty.rs b/tests/rustdoc-json/structs/tuple_empty.rs
index 0ad6a8954..0ad6a8954 100644
--- a/src/test/rustdoc-json/structs/tuple_empty.rs
+++ b/tests/rustdoc-json/structs/tuple_empty.rs
diff --git a/src/test/rustdoc-json/structs/tuple_pub_priv.rs b/tests/rustdoc-json/structs/tuple_pub_priv.rs
index 9d5a1d1c8..9d5a1d1c8 100644
--- a/src/test/rustdoc-json/structs/tuple_pub_priv.rs
+++ b/tests/rustdoc-json/structs/tuple_pub_priv.rs
diff --git a/src/test/rustdoc-json/structs/unit.rs b/tests/rustdoc-json/structs/unit.rs
index 265709717..265709717 100644
--- a/src/test/rustdoc-json/structs/unit.rs
+++ b/tests/rustdoc-json/structs/unit.rs
diff --git a/src/test/rustdoc-json/structs/with_generics.rs b/tests/rustdoc-json/structs/with_generics.rs
index 00474800a..00474800a 100644
--- a/src/test/rustdoc-json/structs/with_generics.rs
+++ b/tests/rustdoc-json/structs/with_generics.rs
diff --git a/src/test/rustdoc-json/structs/with_primitives.rs b/tests/rustdoc-json/structs/with_primitives.rs
index 9c5a37f39..9c5a37f39 100644
--- a/src/test/rustdoc-json/structs/with_primitives.rs
+++ b/tests/rustdoc-json/structs/with_primitives.rs
diff --git a/src/test/rustdoc-json/traits/has_body.rs b/tests/rustdoc-json/traits/has_body.rs
index a57cb97d4..a57cb97d4 100644
--- a/src/test/rustdoc-json/traits/has_body.rs
+++ b/tests/rustdoc-json/traits/has_body.rs
diff --git a/src/test/rustdoc-json/traits/implementors.rs b/tests/rustdoc-json/traits/implementors.rs
index db3fe5df7..db3fe5df7 100644
--- a/src/test/rustdoc-json/traits/implementors.rs
+++ b/tests/rustdoc-json/traits/implementors.rs
diff --git a/src/test/rustdoc-json/traits/supertrait.rs b/tests/rustdoc-json/traits/supertrait.rs
index 4048fdd74..4048fdd74 100644
--- a/src/test/rustdoc-json/traits/supertrait.rs
+++ b/tests/rustdoc-json/traits/supertrait.rs
diff --git a/src/test/rustdoc-json/traits/trait_alias.rs b/tests/rustdoc-json/traits/trait_alias.rs
index 35db9296c..35db9296c 100644
--- a/src/test/rustdoc-json/traits/trait_alias.rs
+++ b/tests/rustdoc-json/traits/trait_alias.rs
diff --git a/src/test/rustdoc-json/traits/uses_extern_trait.rs b/tests/rustdoc-json/traits/uses_extern_trait.rs
index 55a51f739..55a51f739 100644
--- a/src/test/rustdoc-json/traits/uses_extern_trait.rs
+++ b/tests/rustdoc-json/traits/uses_extern_trait.rs
diff --git a/src/test/rustdoc-json/type/dyn.rs b/tests/rustdoc-json/type/dyn.rs
index eaf249252..eaf249252 100644
--- a/src/test/rustdoc-json/type/dyn.rs
+++ b/tests/rustdoc-json/type/dyn.rs
diff --git a/src/test/rustdoc-json/type/extern.rs b/tests/rustdoc-json/type/extern.rs
index d287d5ebe..d287d5ebe 100644
--- a/src/test/rustdoc-json/type/extern.rs
+++ b/tests/rustdoc-json/type/extern.rs
diff --git a/src/test/rustdoc-json/type/fn_lifetime.rs b/tests/rustdoc-json/type/fn_lifetime.rs
index d7216ec76..d7216ec76 100644
--- a/src/test/rustdoc-json/type/fn_lifetime.rs
+++ b/tests/rustdoc-json/type/fn_lifetime.rs
diff --git a/src/test/rustdoc-json/type/generic_default.rs b/tests/rustdoc-json/type/generic_default.rs
index 9c6d4540b..9c6d4540b 100644
--- a/src/test/rustdoc-json/type/generic_default.rs
+++ b/tests/rustdoc-json/type/generic_default.rs
diff --git a/src/test/rustdoc-json/type/hrtb.rs b/tests/rustdoc-json/type/hrtb.rs
index 2c4ee00d4..2c4ee00d4 100644
--- a/src/test/rustdoc-json/type/hrtb.rs
+++ b/tests/rustdoc-json/type/hrtb.rs
diff --git a/src/test/rustdoc-json/unions/impl.rs b/tests/rustdoc-json/unions/impl.rs
index 4454a69ec..4454a69ec 100644
--- a/src/test/rustdoc-json/unions/impl.rs
+++ b/tests/rustdoc-json/unions/impl.rs
diff --git a/src/test/rustdoc-json/unions/union.rs b/tests/rustdoc-json/unions/union.rs
index c9df2b81c..c9df2b81c 100644
--- a/src/test/rustdoc-json/unions/union.rs
+++ b/tests/rustdoc-json/unions/union.rs
diff --git a/src/test/rustdoc-ui/ambiguous-inherent-assoc-ty.rs b/tests/rustdoc-ui/ambiguous-inherent-assoc-ty.rs
index 94ea0e93b..94ea0e93b 100644
--- a/src/test/rustdoc-ui/ambiguous-inherent-assoc-ty.rs
+++ b/tests/rustdoc-ui/ambiguous-inherent-assoc-ty.rs
diff --git a/src/test/rustdoc-ui/assoc-item-not-in-scope.rs b/tests/rustdoc-ui/assoc-item-not-in-scope.rs
index 0976515f4..0976515f4 100644
--- a/src/test/rustdoc-ui/assoc-item-not-in-scope.rs
+++ b/tests/rustdoc-ui/assoc-item-not-in-scope.rs
diff --git a/src/test/rustdoc-ui/assoc-item-not-in-scope.stderr b/tests/rustdoc-ui/assoc-item-not-in-scope.stderr
index 04594ad41..04594ad41 100644
--- a/src/test/rustdoc-ui/assoc-item-not-in-scope.stderr
+++ b/tests/rustdoc-ui/assoc-item-not-in-scope.stderr
diff --git a/src/test/rustdoc-ui/auxiliary/empty-fn.rs b/tests/rustdoc-ui/auxiliary/empty-fn.rs
index 877810f15..877810f15 100644
--- a/src/test/rustdoc-ui/auxiliary/empty-fn.rs
+++ b/tests/rustdoc-ui/auxiliary/empty-fn.rs
diff --git a/src/test/rustdoc-ui/auxiliary/extern_macros.rs b/tests/rustdoc-ui/auxiliary/extern_macros.rs
index ee1fec4c5..ee1fec4c5 100644
--- a/src/test/rustdoc-ui/auxiliary/extern_macros.rs
+++ b/tests/rustdoc-ui/auxiliary/extern_macros.rs
diff --git a/src/test/rustdoc-ui/auxiliary/issue-61592.rs b/tests/rustdoc-ui/auxiliary/issue-61592.rs
index 57a365b3f..57a365b3f 100644
--- a/src/test/rustdoc-ui/auxiliary/issue-61592.rs
+++ b/tests/rustdoc-ui/auxiliary/issue-61592.rs
diff --git a/src/test/rustdoc-ui/auxiliary/module_macro_doc.rs b/tests/rustdoc-ui/auxiliary/module_macro_doc.rs
index 9d6b52b95..9d6b52b95 100644
--- a/src/test/rustdoc-ui/auxiliary/module_macro_doc.rs
+++ b/tests/rustdoc-ui/auxiliary/module_macro_doc.rs
diff --git a/src/test/rustdoc-ui/auxiliary/overflow.rs b/tests/rustdoc-ui/auxiliary/overflow.rs
index ff65936be..ff65936be 100644
--- a/src/test/rustdoc-ui/auxiliary/overflow.rs
+++ b/tests/rustdoc-ui/auxiliary/overflow.rs
diff --git a/src/test/rustdoc-ui/auxiliary/panic-item.rs b/tests/rustdoc-ui/auxiliary/panic-item.rs
index 17b26850d..17b26850d 100644
--- a/src/test/rustdoc-ui/auxiliary/panic-item.rs
+++ b/tests/rustdoc-ui/auxiliary/panic-item.rs
diff --git a/src/test/rustdoc-ui/bare-urls.fixed b/tests/rustdoc-ui/bare-urls.fixed
index 23aa5c44c..23aa5c44c 100644
--- a/src/test/rustdoc-ui/bare-urls.fixed
+++ b/tests/rustdoc-ui/bare-urls.fixed
diff --git a/src/test/rustdoc-ui/bare-urls.rs b/tests/rustdoc-ui/bare-urls.rs
index 592f57343..592f57343 100644
--- a/src/test/rustdoc-ui/bare-urls.rs
+++ b/tests/rustdoc-ui/bare-urls.rs
diff --git a/src/test/rustdoc-ui/bare-urls.stderr b/tests/rustdoc-ui/bare-urls.stderr
index ccf52cd0b..ccf52cd0b 100644
--- a/src/test/rustdoc-ui/bare-urls.stderr
+++ b/tests/rustdoc-ui/bare-urls.stderr
diff --git a/src/test/rustdoc-ui/block-doc-comment.rs b/tests/rustdoc-ui/block-doc-comment.rs
index ce529916e..ce529916e 100644
--- a/src/test/rustdoc-ui/block-doc-comment.rs
+++ b/tests/rustdoc-ui/block-doc-comment.rs
diff --git a/src/test/rustdoc-ui/block-doc-comment.stdout b/tests/rustdoc-ui/block-doc-comment.stdout
index 7326c0a25..7326c0a25 100644
--- a/src/test/rustdoc-ui/block-doc-comment.stdout
+++ b/tests/rustdoc-ui/block-doc-comment.stdout
diff --git a/src/test/rustdoc-ui/bounded-hr-lifetime.rs b/tests/rustdoc-ui/bounded-hr-lifetime.rs
index b2e000b97..b2e000b97 100644
--- a/src/test/rustdoc-ui/bounded-hr-lifetime.rs
+++ b/tests/rustdoc-ui/bounded-hr-lifetime.rs
diff --git a/src/test/rustdoc-ui/bounded-hr-lifetime.stderr b/tests/rustdoc-ui/bounded-hr-lifetime.stderr
index d8fcd6cb4..d8fcd6cb4 100644
--- a/src/test/rustdoc-ui/bounded-hr-lifetime.stderr
+++ b/tests/rustdoc-ui/bounded-hr-lifetime.stderr
diff --git a/src/test/rustdoc-ui/c-help.rs b/tests/rustdoc-ui/c-help.rs
index e166edf8b..e166edf8b 100644
--- a/src/test/rustdoc-ui/c-help.rs
+++ b/tests/rustdoc-ui/c-help.rs
diff --git a/src/test/rustdoc-ui/c-help.stdout b/tests/rustdoc-ui/c-help.stdout
index 75b2e2a2a..75b2e2a2a 100644
--- a/src/test/rustdoc-ui/c-help.stdout
+++ b/tests/rustdoc-ui/c-help.stdout
diff --git a/src/test/rustdoc-ui/cfg-test.rs b/tests/rustdoc-ui/cfg-test.rs
index d4ca92585..d40b92837 100644
--- a/src/test/rustdoc-ui/cfg-test.rs
+++ b/tests/rustdoc-ui/cfg-test.rs
@@ -1,6 +1,6 @@
// check-pass
// compile-flags:--test --test-args --test-threads=1
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// Crates like core have doctests gated on `cfg(not(test))` so we need to make
diff --git a/src/test/rustdoc-ui/cfg-test.stdout b/tests/rustdoc-ui/cfg-test.stdout
index 2960ff8d3..2960ff8d3 100644
--- a/src/test/rustdoc-ui/cfg-test.stdout
+++ b/tests/rustdoc-ui/cfg-test.stdout
diff --git a/src/test/rustdoc-ui/check-attr-test.rs b/tests/rustdoc-ui/check-attr-test.rs
index e95547014..e95547014 100644
--- a/src/test/rustdoc-ui/check-attr-test.rs
+++ b/tests/rustdoc-ui/check-attr-test.rs
diff --git a/src/test/rustdoc-ui/check-attr-test.stderr b/tests/rustdoc-ui/check-attr-test.stderr
index 01beba1ff..01beba1ff 100644
--- a/src/test/rustdoc-ui/check-attr-test.stderr
+++ b/tests/rustdoc-ui/check-attr-test.stderr
diff --git a/src/test/rustdoc-ui/check-attr.rs b/tests/rustdoc-ui/check-attr.rs
index 0b3f7bedd..0b3f7bedd 100644
--- a/src/test/rustdoc-ui/check-attr.rs
+++ b/tests/rustdoc-ui/check-attr.rs
diff --git a/src/test/rustdoc-ui/check-attr.stderr b/tests/rustdoc-ui/check-attr.stderr
index f66e63ab7..f66e63ab7 100644
--- a/src/test/rustdoc-ui/check-attr.stderr
+++ b/tests/rustdoc-ui/check-attr.stderr
diff --git a/tests/rustdoc-ui/check-cfg-test.rs b/tests/rustdoc-ui/check-cfg-test.rs
new file mode 100644
index 000000000..920432276
--- /dev/null
+++ b/tests/rustdoc-ui/check-cfg-test.rs
@@ -0,0 +1,12 @@
+// check-pass
+// compile-flags: --test --nocapture --check-cfg=values(feature,"test") -Z unstable-options
+// normalize-stderr-test: "tests/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
+
+/// The doctest will produce a warning because feature invalid is unexpected
+/// ```
+/// #[cfg(feature = "invalid")]
+/// assert!(false);
+/// ```
+pub struct Foo;
diff --git a/src/test/rustdoc-ui/check-cfg-test.stderr b/tests/rustdoc-ui/check-cfg-test.stderr
index 9770be2f1..9770be2f1 100644
--- a/src/test/rustdoc-ui/check-cfg-test.stderr
+++ b/tests/rustdoc-ui/check-cfg-test.stderr
diff --git a/src/test/rustdoc-ui/check-cfg-test.stdout b/tests/rustdoc-ui/check-cfg-test.stdout
index b7db49bcf..b7db49bcf 100644
--- a/src/test/rustdoc-ui/check-cfg-test.stdout
+++ b/tests/rustdoc-ui/check-cfg-test.stdout
diff --git a/src/test/rustdoc-ui/check-cfg-unstable.rs b/tests/rustdoc-ui/check-cfg-unstable.rs
index 5c500ce6c..5c500ce6c 100644
--- a/src/test/rustdoc-ui/check-cfg-unstable.rs
+++ b/tests/rustdoc-ui/check-cfg-unstable.rs
diff --git a/src/test/rustdoc-ui/check-cfg-unstable.stderr b/tests/rustdoc-ui/check-cfg-unstable.stderr
index 9b27c2bc0..9b27c2bc0 100644
--- a/src/test/rustdoc-ui/check-cfg-unstable.stderr
+++ b/tests/rustdoc-ui/check-cfg-unstable.stderr
diff --git a/src/test/rustdoc-ui/check-cfg.rs b/tests/rustdoc-ui/check-cfg.rs
index fa8789ad3..fa8789ad3 100644
--- a/src/test/rustdoc-ui/check-cfg.rs
+++ b/tests/rustdoc-ui/check-cfg.rs
diff --git a/src/test/rustdoc-ui/check-cfg.stderr b/tests/rustdoc-ui/check-cfg.stderr
index 1db8e1d91..1db8e1d91 100644
--- a/src/test/rustdoc-ui/check-cfg.stderr
+++ b/tests/rustdoc-ui/check-cfg.stderr
diff --git a/src/test/rustdoc-ui/check-doc-alias-attr-location.rs b/tests/rustdoc-ui/check-doc-alias-attr-location.rs
index 6de1960e2..6de1960e2 100644
--- a/src/test/rustdoc-ui/check-doc-alias-attr-location.rs
+++ b/tests/rustdoc-ui/check-doc-alias-attr-location.rs
diff --git a/src/test/rustdoc-ui/check-doc-alias-attr-location.stderr b/tests/rustdoc-ui/check-doc-alias-attr-location.stderr
index 85c951623..85c951623 100644
--- a/src/test/rustdoc-ui/check-doc-alias-attr-location.stderr
+++ b/tests/rustdoc-ui/check-doc-alias-attr-location.stderr
diff --git a/src/test/rustdoc-ui/check-doc-alias-attr.rs b/tests/rustdoc-ui/check-doc-alias-attr.rs
index 719b98604..719b98604 100644
--- a/src/test/rustdoc-ui/check-doc-alias-attr.rs
+++ b/tests/rustdoc-ui/check-doc-alias-attr.rs
diff --git a/src/test/rustdoc-ui/check-doc-alias-attr.stderr b/tests/rustdoc-ui/check-doc-alias-attr.stderr
index 250568be3..250568be3 100644
--- a/src/test/rustdoc-ui/check-doc-alias-attr.stderr
+++ b/tests/rustdoc-ui/check-doc-alias-attr.stderr
diff --git a/src/test/rustdoc-ui/check-fail.rs b/tests/rustdoc-ui/check-fail.rs
index c5e1759ee..c5e1759ee 100644
--- a/src/test/rustdoc-ui/check-fail.rs
+++ b/tests/rustdoc-ui/check-fail.rs
diff --git a/src/test/rustdoc-ui/check-fail.stderr b/tests/rustdoc-ui/check-fail.stderr
index d8aeccbfc..d8aeccbfc 100644
--- a/src/test/rustdoc-ui/check-fail.stderr
+++ b/tests/rustdoc-ui/check-fail.stderr
diff --git a/src/test/rustdoc-ui/check.rs b/tests/rustdoc-ui/check.rs
index f70b03361..f70b03361 100644
--- a/src/test/rustdoc-ui/check.rs
+++ b/tests/rustdoc-ui/check.rs
diff --git a/src/test/rustdoc-ui/check.stderr b/tests/rustdoc-ui/check.stderr
index d379f33f2..d379f33f2 100644
--- a/src/test/rustdoc-ui/check.stderr
+++ b/tests/rustdoc-ui/check.stderr
diff --git a/src/test/rustdoc-ui/commandline-argfile-badutf8.args b/tests/rustdoc-ui/commandline-argfile-badutf8.args
index c070b0c24..c070b0c24 100644
--- a/src/test/rustdoc-ui/commandline-argfile-badutf8.args
+++ b/tests/rustdoc-ui/commandline-argfile-badutf8.args
diff --git a/src/test/rustdoc-ui/commandline-argfile-badutf8.rs b/tests/rustdoc-ui/commandline-argfile-badutf8.rs
index e2984e3ca..e2984e3ca 100644
--- a/src/test/rustdoc-ui/commandline-argfile-badutf8.rs
+++ b/tests/rustdoc-ui/commandline-argfile-badutf8.rs
diff --git a/src/test/rustdoc-ui/commandline-argfile-badutf8.stderr b/tests/rustdoc-ui/commandline-argfile-badutf8.stderr
index 9af6fc0a5..9af6fc0a5 100644
--- a/src/test/rustdoc-ui/commandline-argfile-badutf8.stderr
+++ b/tests/rustdoc-ui/commandline-argfile-badutf8.stderr
diff --git a/src/test/rustdoc-ui/commandline-argfile-missing.rs b/tests/rustdoc-ui/commandline-argfile-missing.rs
index 5a6465bd0..5a6465bd0 100644
--- a/src/test/rustdoc-ui/commandline-argfile-missing.rs
+++ b/tests/rustdoc-ui/commandline-argfile-missing.rs
diff --git a/src/test/rustdoc-ui/commandline-argfile-missing.stderr b/tests/rustdoc-ui/commandline-argfile-missing.stderr
index 179ad8310..179ad8310 100644
--- a/src/test/rustdoc-ui/commandline-argfile-missing.stderr
+++ b/tests/rustdoc-ui/commandline-argfile-missing.stderr
diff --git a/src/test/rustdoc-ui/commandline-argfile.args b/tests/rustdoc-ui/commandline-argfile.args
index 972938bf6..972938bf6 100644
--- a/src/test/rustdoc-ui/commandline-argfile.args
+++ b/tests/rustdoc-ui/commandline-argfile.args
diff --git a/src/test/rustdoc-ui/commandline-argfile.rs b/tests/rustdoc-ui/commandline-argfile.rs
index cc8c8722c..cc8c8722c 100644
--- a/src/test/rustdoc-ui/commandline-argfile.rs
+++ b/tests/rustdoc-ui/commandline-argfile.rs
diff --git a/src/test/rustdoc-ui/const-evalutation-ice.rs b/tests/rustdoc-ui/const-evalutation-ice.rs
index 0dd3bcaa2..0dd3bcaa2 100644
--- a/src/test/rustdoc-ui/const-evalutation-ice.rs
+++ b/tests/rustdoc-ui/const-evalutation-ice.rs
diff --git a/src/test/rustdoc-ui/const-evalutation-ice.stderr b/tests/rustdoc-ui/const-evalutation-ice.stderr
index 5d9c16c07..5d9c16c07 100644
--- a/src/test/rustdoc-ui/const-evalutation-ice.stderr
+++ b/tests/rustdoc-ui/const-evalutation-ice.stderr
diff --git a/src/test/rustdoc-ui/coverage/allow_missing_docs.rs b/tests/rustdoc-ui/coverage/allow_missing_docs.rs
index c771c09da..c771c09da 100644
--- a/src/test/rustdoc-ui/coverage/allow_missing_docs.rs
+++ b/tests/rustdoc-ui/coverage/allow_missing_docs.rs
diff --git a/src/test/rustdoc-ui/coverage/allow_missing_docs.stderr b/tests/rustdoc-ui/coverage/allow_missing_docs.stderr
index 3d5b512d1..3d5b512d1 100644
--- a/src/test/rustdoc-ui/coverage/allow_missing_docs.stderr
+++ b/tests/rustdoc-ui/coverage/allow_missing_docs.stderr
diff --git a/src/test/rustdoc-ui/coverage/allow_missing_docs.stdout b/tests/rustdoc-ui/coverage/allow_missing_docs.stdout
index 17e8ee9e2..17e8ee9e2 100644
--- a/src/test/rustdoc-ui/coverage/allow_missing_docs.stdout
+++ b/tests/rustdoc-ui/coverage/allow_missing_docs.stdout
diff --git a/src/test/rustdoc-ui/coverage/basic.rs b/tests/rustdoc-ui/coverage/basic.rs
index 6c26b751c..6c26b751c 100644
--- a/src/test/rustdoc-ui/coverage/basic.rs
+++ b/tests/rustdoc-ui/coverage/basic.rs
diff --git a/src/test/rustdoc-ui/coverage/basic.stdout b/tests/rustdoc-ui/coverage/basic.stdout
index 3c602b3da..545662f0f 100644
--- a/src/test/rustdoc-ui/coverage/basic.stdout
+++ b/tests/rustdoc-ui/coverage/basic.stdout
@@ -1,7 +1,7 @@
+-------------------------------------+------------+------------+------------+------------+
| File | Documented | Percentage | Examples | Percentage |
+-------------------------------------+------------+------------+------------+------------+
-| ...est/rustdoc-ui/coverage/basic.rs | 7 | 50.0% | 0 | 0.0% |
+| ...sts/rustdoc-ui/coverage/basic.rs | 7 | 50.0% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
| Total | 7 | 50.0% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
diff --git a/src/test/rustdoc-ui/coverage/doc-examples-json.rs b/tests/rustdoc-ui/coverage/doc-examples-json.rs
index 1da181379..1da181379 100644
--- a/src/test/rustdoc-ui/coverage/doc-examples-json.rs
+++ b/tests/rustdoc-ui/coverage/doc-examples-json.rs
diff --git a/src/test/rustdoc-ui/coverage/doc-examples-json.stdout b/tests/rustdoc-ui/coverage/doc-examples-json.stdout
index 92f585569..92f585569 100644
--- a/src/test/rustdoc-ui/coverage/doc-examples-json.stdout
+++ b/tests/rustdoc-ui/coverage/doc-examples-json.stdout
diff --git a/src/test/rustdoc-ui/coverage/doc-examples.rs b/tests/rustdoc-ui/coverage/doc-examples.rs
index cd718f8a3..cd718f8a3 100644
--- a/src/test/rustdoc-ui/coverage/doc-examples.rs
+++ b/tests/rustdoc-ui/coverage/doc-examples.rs
diff --git a/src/test/rustdoc-ui/coverage/doc-examples.stdout b/tests/rustdoc-ui/coverage/doc-examples.stdout
index 8188740f8..8188740f8 100644
--- a/src/test/rustdoc-ui/coverage/doc-examples.stdout
+++ b/tests/rustdoc-ui/coverage/doc-examples.stdout
diff --git a/src/test/rustdoc-ui/coverage/empty.rs b/tests/rustdoc-ui/coverage/empty.rs
index 55a87e9d9..55a87e9d9 100644
--- a/src/test/rustdoc-ui/coverage/empty.rs
+++ b/tests/rustdoc-ui/coverage/empty.rs
diff --git a/src/test/rustdoc-ui/coverage/empty.stdout b/tests/rustdoc-ui/coverage/empty.stdout
index 890a7d56e..d48682528 100644
--- a/src/test/rustdoc-ui/coverage/empty.stdout
+++ b/tests/rustdoc-ui/coverage/empty.stdout
@@ -1,7 +1,7 @@
+-------------------------------------+------------+------------+------------+------------+
| File | Documented | Percentage | Examples | Percentage |
+-------------------------------------+------------+------------+------------+------------+
-| ...est/rustdoc-ui/coverage/empty.rs | 0 | 0.0% | 0 | 0.0% |
+| ...sts/rustdoc-ui/coverage/empty.rs | 0 | 0.0% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
| Total | 0 | 0.0% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
diff --git a/src/test/rustdoc-ui/coverage/enum-tuple-documented.rs b/tests/rustdoc-ui/coverage/enum-tuple-documented.rs
index e9c165b19..e9c165b19 100644
--- a/src/test/rustdoc-ui/coverage/enum-tuple-documented.rs
+++ b/tests/rustdoc-ui/coverage/enum-tuple-documented.rs
diff --git a/src/test/rustdoc-ui/coverage/enum-tuple-documented.stdout b/tests/rustdoc-ui/coverage/enum-tuple-documented.stdout
index 82c98f43f..82c98f43f 100644
--- a/src/test/rustdoc-ui/coverage/enum-tuple-documented.stdout
+++ b/tests/rustdoc-ui/coverage/enum-tuple-documented.stdout
diff --git a/src/test/rustdoc-ui/coverage/enum-tuple.rs b/tests/rustdoc-ui/coverage/enum-tuple.rs
index 5fb205450..5fb205450 100644
--- a/src/test/rustdoc-ui/coverage/enum-tuple.rs
+++ b/tests/rustdoc-ui/coverage/enum-tuple.rs
diff --git a/src/test/rustdoc-ui/coverage/enum-tuple.stdout b/tests/rustdoc-ui/coverage/enum-tuple.stdout
index a3377d59c..a3377d59c 100644
--- a/src/test/rustdoc-ui/coverage/enum-tuple.stdout
+++ b/tests/rustdoc-ui/coverage/enum-tuple.stdout
diff --git a/src/test/rustdoc-ui/coverage/enums.rs b/tests/rustdoc-ui/coverage/enums.rs
index a4ae36d68..a4ae36d68 100644
--- a/src/test/rustdoc-ui/coverage/enums.rs
+++ b/tests/rustdoc-ui/coverage/enums.rs
diff --git a/src/test/rustdoc-ui/coverage/enums.stdout b/tests/rustdoc-ui/coverage/enums.stdout
index 64c012c1f..bb224aac8 100644
--- a/src/test/rustdoc-ui/coverage/enums.stdout
+++ b/tests/rustdoc-ui/coverage/enums.stdout
@@ -1,7 +1,7 @@
+-------------------------------------+------------+------------+------------+------------+
| File | Documented | Percentage | Examples | Percentage |
+-------------------------------------+------------+------------+------------+------------+
-| ...est/rustdoc-ui/coverage/enums.rs | 6 | 75.0% | 0 | 0.0% |
+| ...sts/rustdoc-ui/coverage/enums.rs | 6 | 75.0% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
| Total | 6 | 75.0% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
diff --git a/src/test/rustdoc-ui/coverage/exotic.rs b/tests/rustdoc-ui/coverage/exotic.rs
index 72b70d698..72b70d698 100644
--- a/src/test/rustdoc-ui/coverage/exotic.rs
+++ b/tests/rustdoc-ui/coverage/exotic.rs
diff --git a/src/test/rustdoc-ui/coverage/exotic.stdout b/tests/rustdoc-ui/coverage/exotic.stdout
index 27798b813..bd894898c 100644
--- a/src/test/rustdoc-ui/coverage/exotic.stdout
+++ b/tests/rustdoc-ui/coverage/exotic.stdout
@@ -1,7 +1,7 @@
+-------------------------------------+------------+------------+------------+------------+
| File | Documented | Percentage | Examples | Percentage |
+-------------------------------------+------------+------------+------------+------------+
-| ...st/rustdoc-ui/coverage/exotic.rs | 3 | 100.0% | 0 | 0.0% |
+| ...ts/rustdoc-ui/coverage/exotic.rs | 3 | 100.0% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
| Total | 3 | 100.0% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
diff --git a/src/test/rustdoc-ui/coverage/html.rs b/tests/rustdoc-ui/coverage/html.rs
index 181cb4c50..181cb4c50 100644
--- a/src/test/rustdoc-ui/coverage/html.rs
+++ b/tests/rustdoc-ui/coverage/html.rs
diff --git a/src/test/rustdoc-ui/coverage/html.stderr b/tests/rustdoc-ui/coverage/html.stderr
index adca375d4..adca375d4 100644
--- a/src/test/rustdoc-ui/coverage/html.stderr
+++ b/tests/rustdoc-ui/coverage/html.stderr
diff --git a/src/test/rustdoc-ui/coverage/json.rs b/tests/rustdoc-ui/coverage/json.rs
index a591cd5db..a591cd5db 100644
--- a/src/test/rustdoc-ui/coverage/json.rs
+++ b/tests/rustdoc-ui/coverage/json.rs
diff --git a/src/test/rustdoc-ui/coverage/json.stdout b/tests/rustdoc-ui/coverage/json.stdout
index c2be73ce3..c2be73ce3 100644
--- a/src/test/rustdoc-ui/coverage/json.stdout
+++ b/tests/rustdoc-ui/coverage/json.stdout
diff --git a/src/test/rustdoc-ui/coverage/private.rs b/tests/rustdoc-ui/coverage/private.rs
index 2a0271727..2a0271727 100644
--- a/src/test/rustdoc-ui/coverage/private.rs
+++ b/tests/rustdoc-ui/coverage/private.rs
diff --git a/src/test/rustdoc-ui/coverage/private.stdout b/tests/rustdoc-ui/coverage/private.stdout
index 37a0f5187..b9981c7c5 100644
--- a/src/test/rustdoc-ui/coverage/private.stdout
+++ b/tests/rustdoc-ui/coverage/private.stdout
@@ -1,7 +1,7 @@
+-------------------------------------+------------+------------+------------+------------+
| File | Documented | Percentage | Examples | Percentage |
+-------------------------------------+------------+------------+------------+------------+
-| ...t/rustdoc-ui/coverage/private.rs | 4 | 57.1% | 0 | 0.0% |
+| ...s/rustdoc-ui/coverage/private.rs | 4 | 57.1% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
| Total | 4 | 57.1% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
diff --git a/src/test/rustdoc-ui/coverage/statics-consts.rs b/tests/rustdoc-ui/coverage/statics-consts.rs
index 5a35260fa..5a35260fa 100644
--- a/src/test/rustdoc-ui/coverage/statics-consts.rs
+++ b/tests/rustdoc-ui/coverage/statics-consts.rs
diff --git a/src/test/rustdoc-ui/coverage/statics-consts.stdout b/tests/rustdoc-ui/coverage/statics-consts.stdout
index dbea3a3ea..dbea3a3ea 100644
--- a/src/test/rustdoc-ui/coverage/statics-consts.stdout
+++ b/tests/rustdoc-ui/coverage/statics-consts.stdout
diff --git a/src/test/rustdoc-ui/coverage/traits.rs b/tests/rustdoc-ui/coverage/traits.rs
index daa08ec25..daa08ec25 100644
--- a/src/test/rustdoc-ui/coverage/traits.rs
+++ b/tests/rustdoc-ui/coverage/traits.rs
diff --git a/src/test/rustdoc-ui/coverage/traits.stdout b/tests/rustdoc-ui/coverage/traits.stdout
index 5053d0209..0c7857cf2 100644
--- a/src/test/rustdoc-ui/coverage/traits.stdout
+++ b/tests/rustdoc-ui/coverage/traits.stdout
@@ -1,7 +1,7 @@
+-------------------------------------+------------+------------+------------+------------+
| File | Documented | Percentage | Examples | Percentage |
+-------------------------------------+------------+------------+------------+------------+
-| ...st/rustdoc-ui/coverage/traits.rs | 8 | 88.9% | 0 | 0.0% |
+| ...ts/rustdoc-ui/coverage/traits.rs | 8 | 88.9% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
| Total | 8 | 88.9% | 0 | 0.0% |
+-------------------------------------+------------+------------+------------+------------+
diff --git a/src/test/rustdoc-ui/deny-intra-link-resolution-failure.rs b/tests/rustdoc-ui/deny-intra-link-resolution-failure.rs
index 09da124b1..09da124b1 100644
--- a/src/test/rustdoc-ui/deny-intra-link-resolution-failure.rs
+++ b/tests/rustdoc-ui/deny-intra-link-resolution-failure.rs
diff --git a/src/test/rustdoc-ui/deny-intra-link-resolution-failure.stderr b/tests/rustdoc-ui/deny-intra-link-resolution-failure.stderr
index 3e08354a6..3e08354a6 100644
--- a/src/test/rustdoc-ui/deny-intra-link-resolution-failure.stderr
+++ b/tests/rustdoc-ui/deny-intra-link-resolution-failure.stderr
diff --git a/src/test/rustdoc-ui/deny-missing-docs-crate.rs b/tests/rustdoc-ui/deny-missing-docs-crate.rs
index b74eba3f6..b74eba3f6 100644
--- a/src/test/rustdoc-ui/deny-missing-docs-crate.rs
+++ b/tests/rustdoc-ui/deny-missing-docs-crate.rs
diff --git a/src/test/rustdoc-ui/deny-missing-docs-crate.stderr b/tests/rustdoc-ui/deny-missing-docs-crate.stderr
index 5025b0b0c..5025b0b0c 100644
--- a/src/test/rustdoc-ui/deny-missing-docs-crate.stderr
+++ b/tests/rustdoc-ui/deny-missing-docs-crate.stderr
diff --git a/src/test/rustdoc-ui/deny-missing-docs-macro.rs b/tests/rustdoc-ui/deny-missing-docs-macro.rs
index b1c125317..b1c125317 100644
--- a/src/test/rustdoc-ui/deny-missing-docs-macro.rs
+++ b/tests/rustdoc-ui/deny-missing-docs-macro.rs
diff --git a/src/test/rustdoc-ui/deny-missing-docs-macro.stderr b/tests/rustdoc-ui/deny-missing-docs-macro.stderr
index 0867b0818..0867b0818 100644
--- a/src/test/rustdoc-ui/deny-missing-docs-macro.stderr
+++ b/tests/rustdoc-ui/deny-missing-docs-macro.stderr
diff --git a/src/test/rustdoc-ui/deprecated-attrs.rs b/tests/rustdoc-ui/deprecated-attrs.rs
index 4f6a14fc2..4f6a14fc2 100644
--- a/src/test/rustdoc-ui/deprecated-attrs.rs
+++ b/tests/rustdoc-ui/deprecated-attrs.rs
diff --git a/src/test/rustdoc-ui/deprecated-attrs.stderr b/tests/rustdoc-ui/deprecated-attrs.stderr
index 45b20ce70..45b20ce70 100644
--- a/src/test/rustdoc-ui/deprecated-attrs.stderr
+++ b/tests/rustdoc-ui/deprecated-attrs.stderr
diff --git a/src/test/rustdoc-ui/deref-generic.rs b/tests/rustdoc-ui/deref-generic.rs
index bc64beb1b..bc64beb1b 100644
--- a/src/test/rustdoc-ui/deref-generic.rs
+++ b/tests/rustdoc-ui/deref-generic.rs
diff --git a/src/test/rustdoc-ui/diagnostic-width.rs b/tests/rustdoc-ui/diagnostic-width.rs
index 290d9db77..290d9db77 100644
--- a/src/test/rustdoc-ui/diagnostic-width.rs
+++ b/tests/rustdoc-ui/diagnostic-width.rs
diff --git a/src/test/rustdoc-ui/diagnostic-width.stderr b/tests/rustdoc-ui/diagnostic-width.stderr
index 1a00d10d3..1a00d10d3 100644
--- a/src/test/rustdoc-ui/diagnostic-width.stderr
+++ b/tests/rustdoc-ui/diagnostic-width.stderr
diff --git a/src/test/rustdoc-ui/display-output.rs b/tests/rustdoc-ui/display-output.rs
index ec27a9f6b..23bc54e3c 100644
--- a/src/test/rustdoc-ui/display-output.rs
+++ b/tests/rustdoc-ui/display-output.rs
@@ -3,7 +3,7 @@
// check-pass
// edition:2018
// compile-flags:--test --test-args=--show-output
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
/// ```
diff --git a/src/test/rustdoc-ui/display-output.stdout b/tests/rustdoc-ui/display-output.stdout
index ad25d1ce5..ad25d1ce5 100644
--- a/src/test/rustdoc-ui/display-output.stdout
+++ b/tests/rustdoc-ui/display-output.stdout
diff --git a/src/test/rustdoc-ui/doc-alias-assoc-const.rs b/tests/rustdoc-ui/doc-alias-assoc-const.rs
index d95324734..d95324734 100644
--- a/src/test/rustdoc-ui/doc-alias-assoc-const.rs
+++ b/tests/rustdoc-ui/doc-alias-assoc-const.rs
diff --git a/src/test/rustdoc-ui/doc-alias-assoc-const.stderr b/tests/rustdoc-ui/doc-alias-assoc-const.stderr
index cbca40e13..cbca40e13 100644
--- a/src/test/rustdoc-ui/doc-alias-assoc-const.stderr
+++ b/tests/rustdoc-ui/doc-alias-assoc-const.stderr
diff --git a/src/test/rustdoc-ui/doc-alias-crate-level.rs b/tests/rustdoc-ui/doc-alias-crate-level.rs
index 70618ac01..70618ac01 100644
--- a/src/test/rustdoc-ui/doc-alias-crate-level.rs
+++ b/tests/rustdoc-ui/doc-alias-crate-level.rs
diff --git a/src/test/rustdoc-ui/doc-alias-crate-level.stderr b/tests/rustdoc-ui/doc-alias-crate-level.stderr
index fc8095e03..fc8095e03 100644
--- a/src/test/rustdoc-ui/doc-alias-crate-level.stderr
+++ b/tests/rustdoc-ui/doc-alias-crate-level.stderr
diff --git a/src/test/rustdoc-ui/doc-alias-same-name.rs b/tests/rustdoc-ui/doc-alias-same-name.rs
index da97c2676..da97c2676 100644
--- a/src/test/rustdoc-ui/doc-alias-same-name.rs
+++ b/tests/rustdoc-ui/doc-alias-same-name.rs
diff --git a/src/test/rustdoc-ui/doc-alias-same-name.stderr b/tests/rustdoc-ui/doc-alias-same-name.stderr
index 5ba09a2ea..5ba09a2ea 100644
--- a/src/test/rustdoc-ui/doc-alias-same-name.stderr
+++ b/tests/rustdoc-ui/doc-alias-same-name.stderr
diff --git a/src/test/rustdoc-ui/doc-attr.rs b/tests/rustdoc-ui/doc-attr.rs
index 980d1c0e2..980d1c0e2 100644
--- a/src/test/rustdoc-ui/doc-attr.rs
+++ b/tests/rustdoc-ui/doc-attr.rs
diff --git a/src/test/rustdoc-ui/doc-attr.stderr b/tests/rustdoc-ui/doc-attr.stderr
index 68df2771f..68df2771f 100644
--- a/src/test/rustdoc-ui/doc-attr.stderr
+++ b/tests/rustdoc-ui/doc-attr.stderr
diff --git a/src/test/rustdoc-ui/doc-cfg.rs b/tests/rustdoc-ui/doc-cfg.rs
index 354d76bc3..354d76bc3 100644
--- a/src/test/rustdoc-ui/doc-cfg.rs
+++ b/tests/rustdoc-ui/doc-cfg.rs
diff --git a/src/test/rustdoc-ui/doc-cfg.stderr b/tests/rustdoc-ui/doc-cfg.stderr
index b379f6feb..14b7b17e0 100644
--- a/src/test/rustdoc-ui/doc-cfg.stderr
+++ b/tests/rustdoc-ui/doc-cfg.stderr
@@ -2,7 +2,7 @@ error: `cfg` predicate is not specified
--> $DIR/doc-cfg.rs:3:7
|
LL | #[doc(cfg(), cfg(foo, bar))]
- | ^^^^^
+ | ^^^^^ help: expected syntax is: `cfg(/* predicate */)`
error: multiple `cfg` predicates are specified
--> $DIR/doc-cfg.rs:3:23
@@ -14,7 +14,7 @@ error: `cfg` predicate is not specified
--> $DIR/doc-cfg.rs:7:7
|
LL | #[doc(cfg())]
- | ^^^^^
+ | ^^^^^ help: expected syntax is: `cfg(/* predicate */)`
error: multiple `cfg` predicates are specified
--> $DIR/doc-cfg.rs:8:16
diff --git a/src/test/rustdoc-ui/doc-comment-multi-line-attr.rs b/tests/rustdoc-ui/doc-comment-multi-line-attr.rs
index 97259f782..db674e229 100644
--- a/src/test/rustdoc-ui/doc-comment-multi-line-attr.rs
+++ b/tests/rustdoc-ui/doc-comment-multi-line-attr.rs
@@ -1,6 +1,6 @@
// Regression test for #97440: Multiline inner attribute triggers ICE during doctest
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// check-pass
diff --git a/src/test/rustdoc-ui/doc-comment-multi-line-attr.stdout b/tests/rustdoc-ui/doc-comment-multi-line-attr.stdout
index e47edbd2a..e47edbd2a 100644
--- a/src/test/rustdoc-ui/doc-comment-multi-line-attr.stdout
+++ b/tests/rustdoc-ui/doc-comment-multi-line-attr.stdout
diff --git a/src/test/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs b/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs
index b2a8133c9..6ce3cb9fc 100644
--- a/src/test/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs
+++ b/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.rs
@@ -1,5 +1,5 @@
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// check-pass
diff --git a/src/test/rustdoc-ui/doc-comment-multi-line-cfg-attr.stdout b/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.stdout
index bf3521e4f..bf3521e4f 100644
--- a/src/test/rustdoc-ui/doc-comment-multi-line-cfg-attr.stdout
+++ b/tests/rustdoc-ui/doc-comment-multi-line-cfg-attr.stdout
diff --git a/src/test/rustdoc-ui/doc-include-suggestion.rs b/tests/rustdoc-ui/doc-include-suggestion.rs
index 0c0100735..0c0100735 100644
--- a/src/test/rustdoc-ui/doc-include-suggestion.rs
+++ b/tests/rustdoc-ui/doc-include-suggestion.rs
diff --git a/src/test/rustdoc-ui/doc-include-suggestion.stderr b/tests/rustdoc-ui/doc-include-suggestion.stderr
index fcc93d053..fcc93d053 100644
--- a/src/test/rustdoc-ui/doc-include-suggestion.stderr
+++ b/tests/rustdoc-ui/doc-include-suggestion.stderr
diff --git a/src/test/rustdoc-ui/doc-spotlight.fixed b/tests/rustdoc-ui/doc-spotlight.fixed
index 4b58778ea..4b58778ea 100644
--- a/src/test/rustdoc-ui/doc-spotlight.fixed
+++ b/tests/rustdoc-ui/doc-spotlight.fixed
diff --git a/src/test/rustdoc-ui/doc-spotlight.rs b/tests/rustdoc-ui/doc-spotlight.rs
index 16e387245..16e387245 100644
--- a/src/test/rustdoc-ui/doc-spotlight.rs
+++ b/tests/rustdoc-ui/doc-spotlight.rs
diff --git a/src/test/rustdoc-ui/doc-spotlight.stderr b/tests/rustdoc-ui/doc-spotlight.stderr
index 58612327f..58612327f 100644
--- a/src/test/rustdoc-ui/doc-spotlight.stderr
+++ b/tests/rustdoc-ui/doc-spotlight.stderr
diff --git a/src/test/rustdoc-ui/doc-test-attr-pass.rs b/tests/rustdoc-ui/doc-test-attr-pass.rs
index 12608f244..12608f244 100644
--- a/src/test/rustdoc-ui/doc-test-attr-pass.rs
+++ b/tests/rustdoc-ui/doc-test-attr-pass.rs
diff --git a/src/test/rustdoc-ui/doc-test-attr.rs b/tests/rustdoc-ui/doc-test-attr.rs
index 46178ad86..46178ad86 100644
--- a/src/test/rustdoc-ui/doc-test-attr.rs
+++ b/tests/rustdoc-ui/doc-test-attr.rs
diff --git a/src/test/rustdoc-ui/doc-test-attr.stderr b/tests/rustdoc-ui/doc-test-attr.stderr
index 5e6014954..5e6014954 100644
--- a/src/test/rustdoc-ui/doc-test-attr.stderr
+++ b/tests/rustdoc-ui/doc-test-attr.stderr
diff --git a/src/test/rustdoc-ui/doc-test-doctest-feature.rs b/tests/rustdoc-ui/doc-test-doctest-feature.rs
index 0b79aaece..88cf44e64 100644
--- a/src/test/rustdoc-ui/doc-test-doctest-feature.rs
+++ b/tests/rustdoc-ui/doc-test-doctest-feature.rs
@@ -1,6 +1,6 @@
// check-pass
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// Make sure `cfg(doctest)` is set when finding doctests but not inside
diff --git a/src/test/rustdoc-ui/doc-test-doctest-feature.stdout b/tests/rustdoc-ui/doc-test-doctest-feature.stdout
index d7de1f105..d7de1f105 100644
--- a/src/test/rustdoc-ui/doc-test-doctest-feature.stdout
+++ b/tests/rustdoc-ui/doc-test-doctest-feature.stdout
diff --git a/src/test/rustdoc-ui/doc-test-rustdoc-feature.rs b/tests/rustdoc-ui/doc-test-rustdoc-feature.rs
index bf334c67e..dc72a4857 100644
--- a/src/test/rustdoc-ui/doc-test-rustdoc-feature.rs
+++ b/tests/rustdoc-ui/doc-test-rustdoc-feature.rs
@@ -1,6 +1,6 @@
// check-pass
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
#![feature(doc_cfg)]
diff --git a/src/test/rustdoc-ui/doc-test-rustdoc-feature.stdout b/tests/rustdoc-ui/doc-test-rustdoc-feature.stdout
index 5b07fc4c8..5b07fc4c8 100644
--- a/src/test/rustdoc-ui/doc-test-rustdoc-feature.stdout
+++ b/tests/rustdoc-ui/doc-test-rustdoc-feature.stdout
diff --git a/src/test/rustdoc-ui/doc-without-codeblock.rs b/tests/rustdoc-ui/doc-without-codeblock.rs
index 86d7c83d3..86d7c83d3 100644
--- a/src/test/rustdoc-ui/doc-without-codeblock.rs
+++ b/tests/rustdoc-ui/doc-without-codeblock.rs
diff --git a/src/test/rustdoc-ui/doc-without-codeblock.stderr b/tests/rustdoc-ui/doc-without-codeblock.stderr
index ebf2a2d54..ebf2a2d54 100644
--- a/src/test/rustdoc-ui/doc-without-codeblock.stderr
+++ b/tests/rustdoc-ui/doc-without-codeblock.stderr
diff --git a/src/test/rustdoc-ui/doc_cfg_hide.rs b/tests/rustdoc-ui/doc_cfg_hide.rs
index 5d8791748..5d8791748 100644
--- a/src/test/rustdoc-ui/doc_cfg_hide.rs
+++ b/tests/rustdoc-ui/doc_cfg_hide.rs
diff --git a/src/test/rustdoc-ui/doc_cfg_hide.stderr b/tests/rustdoc-ui/doc_cfg_hide.stderr
index 03623368c..03623368c 100644
--- a/src/test/rustdoc-ui/doc_cfg_hide.stderr
+++ b/tests/rustdoc-ui/doc_cfg_hide.stderr
diff --git a/src/test/rustdoc-ui/doctest-edition.rs b/tests/rustdoc-ui/doctest-edition.rs
index b0787be97..b0787be97 100644
--- a/src/test/rustdoc-ui/doctest-edition.rs
+++ b/tests/rustdoc-ui/doctest-edition.rs
diff --git a/src/test/rustdoc-ui/doctest-edition.stderr b/tests/rustdoc-ui/doctest-edition.stderr
index 8a3329aa3..8a3329aa3 100644
--- a/src/test/rustdoc-ui/doctest-edition.stderr
+++ b/tests/rustdoc-ui/doctest-edition.stderr
diff --git a/src/test/rustdoc-ui/doctest-multiline-crate-attribute.rs b/tests/rustdoc-ui/doctest-multiline-crate-attribute.rs
index a30472ac5..260f5a7a6 100644
--- a/src/test/rustdoc-ui/doctest-multiline-crate-attribute.rs
+++ b/tests/rustdoc-ui/doctest-multiline-crate-attribute.rs
@@ -1,5 +1,5 @@
// compile-flags:--test --test-args=--test-threads=1
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// check-pass
diff --git a/src/test/rustdoc-ui/doctest-multiline-crate-attribute.stdout b/tests/rustdoc-ui/doctest-multiline-crate-attribute.stdout
index 07a4f657d..07a4f657d 100644
--- a/src/test/rustdoc-ui/doctest-multiline-crate-attribute.stdout
+++ b/tests/rustdoc-ui/doctest-multiline-crate-attribute.stdout
diff --git a/src/test/rustdoc-ui/doctest-output.rs b/tests/rustdoc-ui/doctest-output.rs
index 2670fa572..303f76896 100644
--- a/src/test/rustdoc-ui/doctest-output.rs
+++ b/tests/rustdoc-ui/doctest-output.rs
@@ -1,7 +1,7 @@
// edition:2018
// aux-build:extern_macros.rs
// compile-flags:--test --test-args=--test-threads=1
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// check-pass
diff --git a/src/test/rustdoc-ui/doctest-output.stdout b/tests/rustdoc-ui/doctest-output.stdout
index 35b0e366f..35b0e366f 100644
--- a/src/test/rustdoc-ui/doctest-output.stdout
+++ b/tests/rustdoc-ui/doctest-output.stdout
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/README.md b/tests/rustdoc-ui/error-in-impl-trait/README.md
index 1176a4a8c..1176a4a8c 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/README.md
+++ b/tests/rustdoc-ui/error-in-impl-trait/README.md
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/async.rs b/tests/rustdoc-ui/error-in-impl-trait/async.rs
index cda53bff0..cda53bff0 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/async.rs
+++ b/tests/rustdoc-ui/error-in-impl-trait/async.rs
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/closure.rs b/tests/rustdoc-ui/error-in-impl-trait/closure.rs
index f1fd85bb2..f1fd85bb2 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/closure.rs
+++ b/tests/rustdoc-ui/error-in-impl-trait/closure.rs
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/const-generics.rs b/tests/rustdoc-ui/error-in-impl-trait/const-generics.rs
index ed62f0208..ed62f0208 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/const-generics.rs
+++ b/tests/rustdoc-ui/error-in-impl-trait/const-generics.rs
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/generic-argument.rs b/tests/rustdoc-ui/error-in-impl-trait/generic-argument.rs
index dcec379d4..dcec379d4 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/generic-argument.rs
+++ b/tests/rustdoc-ui/error-in-impl-trait/generic-argument.rs
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/impl-keyword-closure.rs b/tests/rustdoc-ui/error-in-impl-trait/impl-keyword-closure.rs
index b935b0832..b935b0832 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/impl-keyword-closure.rs
+++ b/tests/rustdoc-ui/error-in-impl-trait/impl-keyword-closure.rs
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/impl-keyword.rs b/tests/rustdoc-ui/error-in-impl-trait/impl-keyword.rs
index 701126f87..701126f87 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/impl-keyword.rs
+++ b/tests/rustdoc-ui/error-in-impl-trait/impl-keyword.rs
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/realistic-async.rs b/tests/rustdoc-ui/error-in-impl-trait/realistic-async.rs
index 248575d35..248575d35 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/realistic-async.rs
+++ b/tests/rustdoc-ui/error-in-impl-trait/realistic-async.rs
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs b/tests/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs
index 31dd786cb..31dd786cb 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs
+++ b/tests/rustdoc-ui/error-in-impl-trait/trait-alias-closure.rs
diff --git a/src/test/rustdoc-ui/error-in-impl-trait/trait-alias.rs b/tests/rustdoc-ui/error-in-impl-trait/trait-alias.rs
index c18a024af..c18a024af 100644
--- a/src/test/rustdoc-ui/error-in-impl-trait/trait-alias.rs
+++ b/tests/rustdoc-ui/error-in-impl-trait/trait-alias.rs
diff --git a/src/test/rustdoc-ui/expect-tool-lint-rfc-2383.rs b/tests/rustdoc-ui/expect-tool-lint-rfc-2383.rs
index 0901ac364..0901ac364 100644
--- a/src/test/rustdoc-ui/expect-tool-lint-rfc-2383.rs
+++ b/tests/rustdoc-ui/expect-tool-lint-rfc-2383.rs
diff --git a/src/test/rustdoc-ui/expect-tool-lint-rfc-2383.stderr b/tests/rustdoc-ui/expect-tool-lint-rfc-2383.stderr
index efc5f349f..efc5f349f 100644
--- a/src/test/rustdoc-ui/expect-tool-lint-rfc-2383.stderr
+++ b/tests/rustdoc-ui/expect-tool-lint-rfc-2383.stderr
diff --git a/src/test/rustdoc-ui/failed-doctest-compile-fail.rs b/tests/rustdoc-ui/failed-doctest-compile-fail.rs
index 6f2ff5d70..4dfca600f 100644
--- a/src/test/rustdoc-ui/failed-doctest-compile-fail.rs
+++ b/tests/rustdoc-ui/failed-doctest-compile-fail.rs
@@ -2,7 +2,7 @@
// adapted to use that, and that normalize line can go away
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// failure-status: 101
diff --git a/src/test/rustdoc-ui/failed-doctest-compile-fail.stdout b/tests/rustdoc-ui/failed-doctest-compile-fail.stdout
index af3a90a74..af3a90a74 100644
--- a/src/test/rustdoc-ui/failed-doctest-compile-fail.stdout
+++ b/tests/rustdoc-ui/failed-doctest-compile-fail.stdout
diff --git a/src/test/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs b/tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs
index 16d737106..03a5b9d5d 100644
--- a/src/test/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs
+++ b/tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.rs
@@ -2,7 +2,7 @@
// adapted to use that, and that normalize line can go away
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// failure-status: 101
diff --git a/src/test/rustdoc-ui/failed-doctest-extra-semicolon-on-item.stdout b/tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.stdout
index 61468b6c7..61468b6c7 100644
--- a/src/test/rustdoc-ui/failed-doctest-extra-semicolon-on-item.stdout
+++ b/tests/rustdoc-ui/failed-doctest-extra-semicolon-on-item.stdout
diff --git a/src/test/rustdoc-ui/failed-doctest-missing-codes.rs b/tests/rustdoc-ui/failed-doctest-missing-codes.rs
index 57b70b478..66a229a0c 100644
--- a/src/test/rustdoc-ui/failed-doctest-missing-codes.rs
+++ b/tests/rustdoc-ui/failed-doctest-missing-codes.rs
@@ -2,7 +2,7 @@
// adapted to use that, and that normalize line can go away
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// failure-status: 101
diff --git a/src/test/rustdoc-ui/failed-doctest-missing-codes.stdout b/tests/rustdoc-ui/failed-doctest-missing-codes.stdout
index bacbb47b5..bacbb47b5 100644
--- a/src/test/rustdoc-ui/failed-doctest-missing-codes.stdout
+++ b/tests/rustdoc-ui/failed-doctest-missing-codes.stdout
diff --git a/src/test/rustdoc-ui/failed-doctest-output-windows.rs b/tests/rustdoc-ui/failed-doctest-output-windows.rs
index 4cd9993d8..456a9e68f 100644
--- a/src/test/rustdoc-ui/failed-doctest-output-windows.rs
+++ b/tests/rustdoc-ui/failed-doctest-output-windows.rs
@@ -7,7 +7,7 @@
// compile-flags:--test --test-args --test-threads=1
// rustc-env:RUST_BACKTRACE=0
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// failure-status: 101
diff --git a/src/test/rustdoc-ui/failed-doctest-output-windows.stdout b/tests/rustdoc-ui/failed-doctest-output-windows.stdout
index 6c147054d..6c147054d 100644
--- a/src/test/rustdoc-ui/failed-doctest-output-windows.stdout
+++ b/tests/rustdoc-ui/failed-doctest-output-windows.stdout
diff --git a/src/test/rustdoc-ui/failed-doctest-output.rs b/tests/rustdoc-ui/failed-doctest-output.rs
index 42de954d0..77647f8ec 100644
--- a/src/test/rustdoc-ui/failed-doctest-output.rs
+++ b/tests/rustdoc-ui/failed-doctest-output.rs
@@ -7,7 +7,7 @@
// compile-flags:--test --test-args --test-threads=1
// rustc-env:RUST_BACKTRACE=0
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// failure-status: 101
diff --git a/src/test/rustdoc-ui/failed-doctest-output.stdout b/tests/rustdoc-ui/failed-doctest-output.stdout
index 630198a56..630198a56 100644
--- a/src/test/rustdoc-ui/failed-doctest-output.stdout
+++ b/tests/rustdoc-ui/failed-doctest-output.stdout
diff --git a/src/test/rustdoc-ui/failed-doctest-should-panic.rs b/tests/rustdoc-ui/failed-doctest-should-panic.rs
index 2b8bb3168..c134f8006 100644
--- a/src/test/rustdoc-ui/failed-doctest-should-panic.rs
+++ b/tests/rustdoc-ui/failed-doctest-should-panic.rs
@@ -2,7 +2,7 @@
// adapted to use that, and that normalize line can go away
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// failure-status: 101
diff --git a/src/test/rustdoc-ui/failed-doctest-should-panic.stdout b/tests/rustdoc-ui/failed-doctest-should-panic.stdout
index 57a20092a..57a20092a 100644
--- a/src/test/rustdoc-ui/failed-doctest-should-panic.stdout
+++ b/tests/rustdoc-ui/failed-doctest-should-panic.stdout
diff --git a/src/test/rustdoc-ui/feature-gate-doc_cfg_hide.rs b/tests/rustdoc-ui/feature-gate-doc_cfg_hide.rs
index 17812018b..17812018b 100644
--- a/src/test/rustdoc-ui/feature-gate-doc_cfg_hide.rs
+++ b/tests/rustdoc-ui/feature-gate-doc_cfg_hide.rs
diff --git a/src/test/rustdoc-ui/feature-gate-doc_cfg_hide.stderr b/tests/rustdoc-ui/feature-gate-doc_cfg_hide.stderr
index ba42c7bbb..ba42c7bbb 100644
--- a/src/test/rustdoc-ui/feature-gate-doc_cfg_hide.stderr
+++ b/tests/rustdoc-ui/feature-gate-doc_cfg_hide.stderr
diff --git a/src/test/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.rs b/tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.rs
index daba69868..daba69868 100644
--- a/src/test/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.rs
+++ b/tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.rs
diff --git a/src/test/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.stderr b/tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.stderr
index cbe9a3d14..cbe9a3d14 100644
--- a/src/test/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.stderr
+++ b/tests/rustdoc-ui/feature-gate-rustdoc_missing_doc_code_examples.stderr
diff --git a/src/test/rustdoc-ui/generate-link-to-definition-opt-unstable.rs b/tests/rustdoc-ui/generate-link-to-definition-opt-unstable.rs
index 87620d74e..87620d74e 100644
--- a/src/test/rustdoc-ui/generate-link-to-definition-opt-unstable.rs
+++ b/tests/rustdoc-ui/generate-link-to-definition-opt-unstable.rs
diff --git a/src/test/rustdoc-ui/generate-link-to-definition-opt-unstable.stderr b/tests/rustdoc-ui/generate-link-to-definition-opt-unstable.stderr
index a8ddf91bc..a8ddf91bc 100644
--- a/src/test/rustdoc-ui/generate-link-to-definition-opt-unstable.stderr
+++ b/tests/rustdoc-ui/generate-link-to-definition-opt-unstable.stderr
diff --git a/src/test/rustdoc-ui/generate-link-to-definition-opt.rs b/tests/rustdoc-ui/generate-link-to-definition-opt.rs
index 8f4f561b4..8f4f561b4 100644
--- a/src/test/rustdoc-ui/generate-link-to-definition-opt.rs
+++ b/tests/rustdoc-ui/generate-link-to-definition-opt.rs
diff --git a/src/test/rustdoc-ui/generate-link-to-definition-opt.stderr b/tests/rustdoc-ui/generate-link-to-definition-opt.stderr
index 4c8c607e7..4c8c607e7 100644
--- a/src/test/rustdoc-ui/generate-link-to-definition-opt.stderr
+++ b/tests/rustdoc-ui/generate-link-to-definition-opt.stderr
diff --git a/src/test/rustdoc-ui/generate-link-to-definition-opt2.rs b/tests/rustdoc-ui/generate-link-to-definition-opt2.rs
index da5142087..da5142087 100644
--- a/src/test/rustdoc-ui/generate-link-to-definition-opt2.rs
+++ b/tests/rustdoc-ui/generate-link-to-definition-opt2.rs
diff --git a/src/test/rustdoc-ui/generate-link-to-definition-opt2.stderr b/tests/rustdoc-ui/generate-link-to-definition-opt2.stderr
index 4c8c607e7..4c8c607e7 100644
--- a/src/test/rustdoc-ui/generate-link-to-definition-opt2.stderr
+++ b/tests/rustdoc-ui/generate-link-to-definition-opt2.stderr
diff --git a/src/test/rustdoc-ui/ignore-block-help.rs b/tests/rustdoc-ui/ignore-block-help.rs
index 86f6a2868..86f6a2868 100644
--- a/src/test/rustdoc-ui/ignore-block-help.rs
+++ b/tests/rustdoc-ui/ignore-block-help.rs
diff --git a/src/test/rustdoc-ui/ignore-block-help.stderr b/tests/rustdoc-ui/ignore-block-help.stderr
index a30ea51dd..a30ea51dd 100644
--- a/src/test/rustdoc-ui/ignore-block-help.stderr
+++ b/tests/rustdoc-ui/ignore-block-help.stderr
diff --git a/src/test/rustdoc-ui/impl-fn-nesting.rs b/tests/rustdoc-ui/impl-fn-nesting.rs
index a927f6bd7..a927f6bd7 100644
--- a/src/test/rustdoc-ui/impl-fn-nesting.rs
+++ b/tests/rustdoc-ui/impl-fn-nesting.rs
diff --git a/src/test/rustdoc-ui/impl-fn-nesting.stderr b/tests/rustdoc-ui/impl-fn-nesting.stderr
index 608749af8..608749af8 100644
--- a/src/test/rustdoc-ui/impl-fn-nesting.stderr
+++ b/tests/rustdoc-ui/impl-fn-nesting.stderr
diff --git a/src/test/rustdoc-ui/infinite-recursive-type-impl-trait-return.rs b/tests/rustdoc-ui/infinite-recursive-type-impl-trait-return.rs
index 4b1e04234..4b1e04234 100644
--- a/src/test/rustdoc-ui/infinite-recursive-type-impl-trait-return.rs
+++ b/tests/rustdoc-ui/infinite-recursive-type-impl-trait-return.rs
diff --git a/src/test/rustdoc-ui/infinite-recursive-type-impl-trait.rs b/tests/rustdoc-ui/infinite-recursive-type-impl-trait.rs
index ac79582fb..ac79582fb 100644
--- a/src/test/rustdoc-ui/infinite-recursive-type-impl-trait.rs
+++ b/tests/rustdoc-ui/infinite-recursive-type-impl-trait.rs
diff --git a/src/test/rustdoc-ui/infinite-recursive-type.rs b/tests/rustdoc-ui/infinite-recursive-type.rs
index 32793fc4f..32793fc4f 100644
--- a/src/test/rustdoc-ui/infinite-recursive-type.rs
+++ b/tests/rustdoc-ui/infinite-recursive-type.rs
diff --git a/src/test/rustdoc-ui/infinite-recursive-type.stderr b/tests/rustdoc-ui/infinite-recursive-type.stderr
index 9e2c3ff16..9e2c3ff16 100644
--- a/src/test/rustdoc-ui/infinite-recursive-type.stderr
+++ b/tests/rustdoc-ui/infinite-recursive-type.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/alias-ice.rs b/tests/rustdoc-ui/intra-doc/alias-ice.rs
index 51922caeb..51922caeb 100644
--- a/src/test/rustdoc-ui/intra-doc/alias-ice.rs
+++ b/tests/rustdoc-ui/intra-doc/alias-ice.rs
diff --git a/src/test/rustdoc-ui/intra-doc/alias-ice.stderr b/tests/rustdoc-ui/intra-doc/alias-ice.stderr
index 5e7ffeeb8..5e7ffeeb8 100644
--- a/src/test/rustdoc-ui/intra-doc/alias-ice.stderr
+++ b/tests/rustdoc-ui/intra-doc/alias-ice.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/ambiguity.rs b/tests/rustdoc-ui/intra-doc/ambiguity.rs
index 1f3dc722e..1f3dc722e 100644
--- a/src/test/rustdoc-ui/intra-doc/ambiguity.rs
+++ b/tests/rustdoc-ui/intra-doc/ambiguity.rs
diff --git a/src/test/rustdoc-ui/intra-doc/ambiguity.stderr b/tests/rustdoc-ui/intra-doc/ambiguity.stderr
index 7974796e4..7974796e4 100644
--- a/src/test/rustdoc-ui/intra-doc/ambiguity.stderr
+++ b/tests/rustdoc-ui/intra-doc/ambiguity.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/anchors.rs b/tests/rustdoc-ui/intra-doc/anchors.rs
index 34e11c7c7..34e11c7c7 100644
--- a/src/test/rustdoc-ui/intra-doc/anchors.rs
+++ b/tests/rustdoc-ui/intra-doc/anchors.rs
diff --git a/src/test/rustdoc-ui/intra-doc/anchors.stderr b/tests/rustdoc-ui/intra-doc/anchors.stderr
index 0d226b277..0d226b277 100644
--- a/src/test/rustdoc-ui/intra-doc/anchors.stderr
+++ b/tests/rustdoc-ui/intra-doc/anchors.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/assoc-field.rs b/tests/rustdoc-ui/intra-doc/assoc-field.rs
index e18404e44..e18404e44 100644
--- a/src/test/rustdoc-ui/intra-doc/assoc-field.rs
+++ b/tests/rustdoc-ui/intra-doc/assoc-field.rs
diff --git a/src/test/rustdoc-ui/intra-doc/assoc-mod-inner-outer.rs b/tests/rustdoc-ui/intra-doc/assoc-mod-inner-outer.rs
index b4ce3443c..b4ce3443c 100644
--- a/src/test/rustdoc-ui/intra-doc/assoc-mod-inner-outer.rs
+++ b/tests/rustdoc-ui/intra-doc/assoc-mod-inner-outer.rs
diff --git a/src/test/rustdoc-ui/intra-doc/auxiliary/assoc-field-dep.rs b/tests/rustdoc-ui/intra-doc/auxiliary/assoc-field-dep.rs
index cfb24fc2c..cfb24fc2c 100644
--- a/src/test/rustdoc-ui/intra-doc/auxiliary/assoc-field-dep.rs
+++ b/tests/rustdoc-ui/intra-doc/auxiliary/assoc-field-dep.rs
diff --git a/src/test/rustdoc-ui/intra-doc/auxiliary/assoc-mod-inner-outer-dep.rs b/tests/rustdoc-ui/intra-doc/auxiliary/assoc-mod-inner-outer-dep.rs
index 7a11a1657..7a11a1657 100644
--- a/src/test/rustdoc-ui/intra-doc/auxiliary/assoc-mod-inner-outer-dep.rs
+++ b/tests/rustdoc-ui/intra-doc/auxiliary/assoc-mod-inner-outer-dep.rs
diff --git a/src/test/rustdoc-ui/intra-doc/auxiliary/dep1.rs b/tests/rustdoc-ui/intra-doc/auxiliary/dep1.rs
index d11c69f81..d11c69f81 100644
--- a/src/test/rustdoc-ui/intra-doc/auxiliary/dep1.rs
+++ b/tests/rustdoc-ui/intra-doc/auxiliary/dep1.rs
diff --git a/src/test/rustdoc-ui/intra-doc/auxiliary/dep2.rs b/tests/rustdoc-ui/intra-doc/auxiliary/dep2.rs
index d11c69f81..d11c69f81 100644
--- a/src/test/rustdoc-ui/intra-doc/auxiliary/dep2.rs
+++ b/tests/rustdoc-ui/intra-doc/auxiliary/dep2.rs
diff --git a/src/test/rustdoc-ui/intra-doc/auxiliary/dep3.rs b/tests/rustdoc-ui/intra-doc/auxiliary/dep3.rs
index d11c69f81..d11c69f81 100644
--- a/src/test/rustdoc-ui/intra-doc/auxiliary/dep3.rs
+++ b/tests/rustdoc-ui/intra-doc/auxiliary/dep3.rs
diff --git a/src/test/rustdoc-ui/intra-doc/auxiliary/dep4.rs b/tests/rustdoc-ui/intra-doc/auxiliary/dep4.rs
index d11c69f81..d11c69f81 100644
--- a/src/test/rustdoc-ui/intra-doc/auxiliary/dep4.rs
+++ b/tests/rustdoc-ui/intra-doc/auxiliary/dep4.rs
diff --git a/src/test/rustdoc-ui/intra-doc/auxiliary/intra-doc-broken.rs b/tests/rustdoc-ui/intra-doc/auxiliary/intra-doc-broken.rs
index 31a8310d4..31a8310d4 100644
--- a/src/test/rustdoc-ui/intra-doc/auxiliary/intra-doc-broken.rs
+++ b/tests/rustdoc-ui/intra-doc/auxiliary/intra-doc-broken.rs
diff --git a/src/test/rustdoc-ui/intra-doc/auxiliary/pointer-reexports-allowed.rs b/tests/rustdoc-ui/intra-doc/auxiliary/pointer-reexports-allowed.rs
index 0a3dc57f1..0a3dc57f1 100644
--- a/src/test/rustdoc-ui/intra-doc/auxiliary/pointer-reexports-allowed.rs
+++ b/tests/rustdoc-ui/intra-doc/auxiliary/pointer-reexports-allowed.rs
diff --git a/src/test/rustdoc-ui/intra-doc/auxiliary/through-proc-macro-aux.rs b/tests/rustdoc-ui/intra-doc/auxiliary/through-proc-macro-aux.rs
index 5c4a01ee3..5c4a01ee3 100644
--- a/src/test/rustdoc-ui/intra-doc/auxiliary/through-proc-macro-aux.rs
+++ b/tests/rustdoc-ui/intra-doc/auxiliary/through-proc-macro-aux.rs
diff --git a/src/test/rustdoc-ui/intra-doc/broken-reexport.rs b/tests/rustdoc-ui/intra-doc/broken-reexport.rs
index 862faa50b..862faa50b 100644
--- a/src/test/rustdoc-ui/intra-doc/broken-reexport.rs
+++ b/tests/rustdoc-ui/intra-doc/broken-reexport.rs
diff --git a/src/test/rustdoc-ui/intra-doc/crate-nonexistent.rs b/tests/rustdoc-ui/intra-doc/crate-nonexistent.rs
index ceecfa681..ceecfa681 100644
--- a/src/test/rustdoc-ui/intra-doc/crate-nonexistent.rs
+++ b/tests/rustdoc-ui/intra-doc/crate-nonexistent.rs
diff --git a/src/test/rustdoc-ui/intra-doc/crate-nonexistent.stderr b/tests/rustdoc-ui/intra-doc/crate-nonexistent.stderr
index a69b1c52a..a69b1c52a 100644
--- a/src/test/rustdoc-ui/intra-doc/crate-nonexistent.stderr
+++ b/tests/rustdoc-ui/intra-doc/crate-nonexistent.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/disambiguator-mismatch.rs b/tests/rustdoc-ui/intra-doc/disambiguator-mismatch.rs
index 2d6656611..2d6656611 100644
--- a/src/test/rustdoc-ui/intra-doc/disambiguator-mismatch.rs
+++ b/tests/rustdoc-ui/intra-doc/disambiguator-mismatch.rs
diff --git a/src/test/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr b/tests/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr
index ee35749ce..ee35749ce 100644
--- a/src/test/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr
+++ b/tests/rustdoc-ui/intra-doc/disambiguator-mismatch.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/double-anchor.rs b/tests/rustdoc-ui/intra-doc/double-anchor.rs
index a01211c4f..a01211c4f 100644
--- a/src/test/rustdoc-ui/intra-doc/double-anchor.rs
+++ b/tests/rustdoc-ui/intra-doc/double-anchor.rs
diff --git a/src/test/rustdoc-ui/intra-doc/double-anchor.stderr b/tests/rustdoc-ui/intra-doc/double-anchor.stderr
index 6addb010e..6addb010e 100644
--- a/src/test/rustdoc-ui/intra-doc/double-anchor.stderr
+++ b/tests/rustdoc-ui/intra-doc/double-anchor.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/email-address-localhost.rs b/tests/rustdoc-ui/intra-doc/email-address-localhost.rs
index 7a5156e81..7a5156e81 100644
--- a/src/test/rustdoc-ui/intra-doc/email-address-localhost.rs
+++ b/tests/rustdoc-ui/intra-doc/email-address-localhost.rs
diff --git a/src/test/rustdoc-ui/intra-doc/errors.rs b/tests/rustdoc-ui/intra-doc/errors.rs
index b29f7c29b..b29f7c29b 100644
--- a/src/test/rustdoc-ui/intra-doc/errors.rs
+++ b/tests/rustdoc-ui/intra-doc/errors.rs
diff --git a/src/test/rustdoc-ui/intra-doc/errors.stderr b/tests/rustdoc-ui/intra-doc/errors.stderr
index 9a1896fb0..9a1896fb0 100644
--- a/src/test/rustdoc-ui/intra-doc/errors.stderr
+++ b/tests/rustdoc-ui/intra-doc/errors.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/extern-crate-load.rs b/tests/rustdoc-ui/intra-doc/extern-crate-load.rs
index 438c56aa5..438c56aa5 100644
--- a/src/test/rustdoc-ui/intra-doc/extern-crate-load.rs
+++ b/tests/rustdoc-ui/intra-doc/extern-crate-load.rs
diff --git a/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs b/tests/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs
index 3cfac942c..3cfac942c 100644
--- a/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs
+++ b/tests/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.rs
diff --git a/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr b/tests/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr
index 2c946ed48..2c946ed48 100644
--- a/src/test/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr
+++ b/tests/rustdoc-ui/intra-doc/feature-gate-intra-doc-pointers.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/field-ice.rs b/tests/rustdoc-ui/intra-doc/field-ice.rs
index c5d501e38..c5d501e38 100644
--- a/src/test/rustdoc-ui/intra-doc/field-ice.rs
+++ b/tests/rustdoc-ui/intra-doc/field-ice.rs
diff --git a/src/test/rustdoc-ui/intra-doc/field-ice.stderr b/tests/rustdoc-ui/intra-doc/field-ice.stderr
index f45a3ca61..f45a3ca61 100644
--- a/src/test/rustdoc-ui/intra-doc/field-ice.stderr
+++ b/tests/rustdoc-ui/intra-doc/field-ice.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/global-path.rs b/tests/rustdoc-ui/intra-doc/global-path.rs
index cc7a5fa1c..cc7a5fa1c 100644
--- a/src/test/rustdoc-ui/intra-doc/global-path.rs
+++ b/tests/rustdoc-ui/intra-doc/global-path.rs
diff --git a/src/test/rustdoc-ui/intra-doc/global-path.stderr b/tests/rustdoc-ui/intra-doc/global-path.stderr
index 02379cd6c..02379cd6c 100644
--- a/src/test/rustdoc-ui/intra-doc/global-path.stderr
+++ b/tests/rustdoc-ui/intra-doc/global-path.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs b/tests/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs
index b5470c859..b5470c859 100644
--- a/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs
+++ b/tests/rustdoc-ui/intra-doc/html-as-generics-intra-doc.rs
diff --git a/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr b/tests/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr
index 7c81044db..7c81044db 100644
--- a/src/test/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr
+++ b/tests/rustdoc-ui/intra-doc/html-as-generics-intra-doc.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.rs b/tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.rs
index 3088bcd46..3088bcd46 100644
--- a/src/test/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.rs
+++ b/tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.rs
diff --git a/src/test/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr b/tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr
index c43cda3eb..c43cda3eb 100644
--- a/src/test/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr
+++ b/tests/rustdoc-ui/intra-doc/incompatible-primitive-disambiguator.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/macro-rules-error.rs b/tests/rustdoc-ui/intra-doc/macro-rules-error.rs
index 8490584c1..8490584c1 100644
--- a/src/test/rustdoc-ui/intra-doc/macro-rules-error.rs
+++ b/tests/rustdoc-ui/intra-doc/macro-rules-error.rs
diff --git a/src/test/rustdoc-ui/intra-doc/macro-rules-error.stderr b/tests/rustdoc-ui/intra-doc/macro-rules-error.stderr
index 6ad8084b0..6ad8084b0 100644
--- a/src/test/rustdoc-ui/intra-doc/macro-rules-error.stderr
+++ b/tests/rustdoc-ui/intra-doc/macro-rules-error.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/macro-rules.rs b/tests/rustdoc-ui/intra-doc/macro-rules.rs
index 3aeb370ef..3aeb370ef 100644
--- a/src/test/rustdoc-ui/intra-doc/macro-rules.rs
+++ b/tests/rustdoc-ui/intra-doc/macro-rules.rs
diff --git a/src/test/rustdoc-ui/intra-doc/malformed-generics.rs b/tests/rustdoc-ui/intra-doc/malformed-generics.rs
index 161625ed2..161625ed2 100644
--- a/src/test/rustdoc-ui/intra-doc/malformed-generics.rs
+++ b/tests/rustdoc-ui/intra-doc/malformed-generics.rs
diff --git a/src/test/rustdoc-ui/intra-doc/malformed-generics.stderr b/tests/rustdoc-ui/intra-doc/malformed-generics.stderr
index 08349fef8..08349fef8 100644
--- a/src/test/rustdoc-ui/intra-doc/malformed-generics.stderr
+++ b/tests/rustdoc-ui/intra-doc/malformed-generics.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/non-path-primitives.rs b/tests/rustdoc-ui/intra-doc/non-path-primitives.rs
index 587cbad68..587cbad68 100644
--- a/src/test/rustdoc-ui/intra-doc/non-path-primitives.rs
+++ b/tests/rustdoc-ui/intra-doc/non-path-primitives.rs
diff --git a/src/test/rustdoc-ui/intra-doc/non-path-primitives.stderr b/tests/rustdoc-ui/intra-doc/non-path-primitives.stderr
index 8ec894d10..8ec894d10 100644
--- a/src/test/rustdoc-ui/intra-doc/non-path-primitives.stderr
+++ b/tests/rustdoc-ui/intra-doc/non-path-primitives.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/pointer-reexports-allowed.rs b/tests/rustdoc-ui/intra-doc/pointer-reexports-allowed.rs
index 8654a8e1b..8654a8e1b 100644
--- a/src/test/rustdoc-ui/intra-doc/pointer-reexports-allowed.rs
+++ b/tests/rustdoc-ui/intra-doc/pointer-reexports-allowed.rs
diff --git a/src/test/rustdoc-ui/intra-doc/prim-conflict.rs b/tests/rustdoc-ui/intra-doc/prim-conflict.rs
index 2c1a8b535..2c1a8b535 100644
--- a/src/test/rustdoc-ui/intra-doc/prim-conflict.rs
+++ b/tests/rustdoc-ui/intra-doc/prim-conflict.rs
diff --git a/src/test/rustdoc-ui/intra-doc/prim-conflict.stderr b/tests/rustdoc-ui/intra-doc/prim-conflict.stderr
index 6ef3b7eab..6ef3b7eab 100644
--- a/src/test/rustdoc-ui/intra-doc/prim-conflict.stderr
+++ b/tests/rustdoc-ui/intra-doc/prim-conflict.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/private-from-crate-level.rs b/tests/rustdoc-ui/intra-doc/private-from-crate-level.rs
index e429e75b2..e429e75b2 100644
--- a/src/test/rustdoc-ui/intra-doc/private-from-crate-level.rs
+++ b/tests/rustdoc-ui/intra-doc/private-from-crate-level.rs
diff --git a/src/test/rustdoc-ui/intra-doc/private-from-crate-level.stderr b/tests/rustdoc-ui/intra-doc/private-from-crate-level.stderr
index 4d5bd70bf..4d5bd70bf 100644
--- a/src/test/rustdoc-ui/intra-doc/private-from-crate-level.stderr
+++ b/tests/rustdoc-ui/intra-doc/private-from-crate-level.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/private.private.stderr b/tests/rustdoc-ui/intra-doc/private.private.stderr
index 6661e9021..6661e9021 100644
--- a/src/test/rustdoc-ui/intra-doc/private.private.stderr
+++ b/tests/rustdoc-ui/intra-doc/private.private.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/private.public.stderr b/tests/rustdoc-ui/intra-doc/private.public.stderr
index 45b51e12e..45b51e12e 100644
--- a/src/test/rustdoc-ui/intra-doc/private.public.stderr
+++ b/tests/rustdoc-ui/intra-doc/private.public.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/private.rs b/tests/rustdoc-ui/intra-doc/private.rs
index 525332dda..525332dda 100644
--- a/src/test/rustdoc-ui/intra-doc/private.rs
+++ b/tests/rustdoc-ui/intra-doc/private.rs
diff --git a/src/test/rustdoc-ui/intra-doc/span-ice-55723.rs b/tests/rustdoc-ui/intra-doc/span-ice-55723.rs
index 041ec2932..041ec2932 100644
--- a/src/test/rustdoc-ui/intra-doc/span-ice-55723.rs
+++ b/tests/rustdoc-ui/intra-doc/span-ice-55723.rs
diff --git a/src/test/rustdoc-ui/intra-doc/span-ice-55723.stderr b/tests/rustdoc-ui/intra-doc/span-ice-55723.stderr
index e8ee40ad4..e8ee40ad4 100644
--- a/src/test/rustdoc-ui/intra-doc/span-ice-55723.stderr
+++ b/tests/rustdoc-ui/intra-doc/span-ice-55723.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/through-proc-macro.rs b/tests/rustdoc-ui/intra-doc/through-proc-macro.rs
index 7628c3928..7628c3928 100644
--- a/src/test/rustdoc-ui/intra-doc/through-proc-macro.rs
+++ b/tests/rustdoc-ui/intra-doc/through-proc-macro.rs
diff --git a/src/test/rustdoc-ui/intra-doc/through-proc-macro.stderr b/tests/rustdoc-ui/intra-doc/through-proc-macro.stderr
index 508d0683d..508d0683d 100644
--- a/src/test/rustdoc-ui/intra-doc/through-proc-macro.stderr
+++ b/tests/rustdoc-ui/intra-doc/through-proc-macro.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/unknown-disambiguator.rs b/tests/rustdoc-ui/intra-doc/unknown-disambiguator.rs
index 0aa1e5a41..0aa1e5a41 100644
--- a/src/test/rustdoc-ui/intra-doc/unknown-disambiguator.rs
+++ b/tests/rustdoc-ui/intra-doc/unknown-disambiguator.rs
diff --git a/src/test/rustdoc-ui/intra-doc/unknown-disambiguator.stderr b/tests/rustdoc-ui/intra-doc/unknown-disambiguator.stderr
index 19e541736..19e541736 100644
--- a/src/test/rustdoc-ui/intra-doc/unknown-disambiguator.stderr
+++ b/tests/rustdoc-ui/intra-doc/unknown-disambiguator.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/unresolved-import-recovery.rs b/tests/rustdoc-ui/intra-doc/unresolved-import-recovery.rs
index c71e5bee1..c71e5bee1 100644
--- a/src/test/rustdoc-ui/intra-doc/unresolved-import-recovery.rs
+++ b/tests/rustdoc-ui/intra-doc/unresolved-import-recovery.rs
diff --git a/src/test/rustdoc-ui/intra-doc/unresolved-import-recovery.stderr b/tests/rustdoc-ui/intra-doc/unresolved-import-recovery.stderr
index b54f82006..b54f82006 100644
--- a/src/test/rustdoc-ui/intra-doc/unresolved-import-recovery.stderr
+++ b/tests/rustdoc-ui/intra-doc/unresolved-import-recovery.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/unused-extern-crate.rs b/tests/rustdoc-ui/intra-doc/unused-extern-crate.rs
index 956583093..956583093 100644
--- a/src/test/rustdoc-ui/intra-doc/unused-extern-crate.rs
+++ b/tests/rustdoc-ui/intra-doc/unused-extern-crate.rs
diff --git a/src/test/rustdoc-ui/intra-doc/unused-extern-crate.stderr b/tests/rustdoc-ui/intra-doc/unused-extern-crate.stderr
index 815324563..815324563 100644
--- a/src/test/rustdoc-ui/intra-doc/unused-extern-crate.stderr
+++ b/tests/rustdoc-ui/intra-doc/unused-extern-crate.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/warning-crlf.rs b/tests/rustdoc-ui/intra-doc/warning-crlf.rs
index ceb62f6d1..ceb62f6d1 100644
--- a/src/test/rustdoc-ui/intra-doc/warning-crlf.rs
+++ b/tests/rustdoc-ui/intra-doc/warning-crlf.rs
diff --git a/src/test/rustdoc-ui/intra-doc/warning-crlf.stderr b/tests/rustdoc-ui/intra-doc/warning-crlf.stderr
index c309a55f4..c309a55f4 100644
--- a/src/test/rustdoc-ui/intra-doc/warning-crlf.stderr
+++ b/tests/rustdoc-ui/intra-doc/warning-crlf.stderr
diff --git a/src/test/rustdoc-ui/intra-doc/warning.rs b/tests/rustdoc-ui/intra-doc/warning.rs
index eab1f0348..eab1f0348 100644
--- a/src/test/rustdoc-ui/intra-doc/warning.rs
+++ b/tests/rustdoc-ui/intra-doc/warning.rs
diff --git a/src/test/rustdoc-ui/intra-doc/warning.stderr b/tests/rustdoc-ui/intra-doc/warning.stderr
index 19399a0df..19399a0df 100644
--- a/src/test/rustdoc-ui/intra-doc/warning.stderr
+++ b/tests/rustdoc-ui/intra-doc/warning.stderr
diff --git a/src/test/rustdoc-ui/invalid-cfg.rs b/tests/rustdoc-ui/invalid-cfg.rs
index d237b8605..d237b8605 100644
--- a/src/test/rustdoc-ui/invalid-cfg.rs
+++ b/tests/rustdoc-ui/invalid-cfg.rs
diff --git a/src/test/rustdoc-ui/invalid-cfg.stderr b/tests/rustdoc-ui/invalid-cfg.stderr
index dae238b05..dae238b05 100644
--- a/src/test/rustdoc-ui/invalid-cfg.stderr
+++ b/tests/rustdoc-ui/invalid-cfg.stderr
diff --git a/src/test/rustdoc-ui/invalid-doc-attr.rs b/tests/rustdoc-ui/invalid-doc-attr.rs
index de004b41e..de004b41e 100644
--- a/src/test/rustdoc-ui/invalid-doc-attr.rs
+++ b/tests/rustdoc-ui/invalid-doc-attr.rs
diff --git a/src/test/rustdoc-ui/invalid-doc-attr.stderr b/tests/rustdoc-ui/invalid-doc-attr.stderr
index 3c66e587b..3c66e587b 100644
--- a/src/test/rustdoc-ui/invalid-doc-attr.stderr
+++ b/tests/rustdoc-ui/invalid-doc-attr.stderr
diff --git a/src/test/rustdoc-ui/invalid-html-self-closing-tag.rs b/tests/rustdoc-ui/invalid-html-self-closing-tag.rs
index d973a53cb..d973a53cb 100644
--- a/src/test/rustdoc-ui/invalid-html-self-closing-tag.rs
+++ b/tests/rustdoc-ui/invalid-html-self-closing-tag.rs
diff --git a/src/test/rustdoc-ui/invalid-html-self-closing-tag.stderr b/tests/rustdoc-ui/invalid-html-self-closing-tag.stderr
index e45edfb43..e45edfb43 100644
--- a/src/test/rustdoc-ui/invalid-html-self-closing-tag.stderr
+++ b/tests/rustdoc-ui/invalid-html-self-closing-tag.stderr
diff --git a/src/test/rustdoc-ui/invalid-html-tags.rs b/tests/rustdoc-ui/invalid-html-tags.rs
index 317f1fd1d..317f1fd1d 100644
--- a/src/test/rustdoc-ui/invalid-html-tags.rs
+++ b/tests/rustdoc-ui/invalid-html-tags.rs
diff --git a/src/test/rustdoc-ui/invalid-html-tags.stderr b/tests/rustdoc-ui/invalid-html-tags.stderr
index 9c2bfcf2c..9c2bfcf2c 100644
--- a/src/test/rustdoc-ui/invalid-html-tags.stderr
+++ b/tests/rustdoc-ui/invalid-html-tags.stderr
diff --git a/src/test/rustdoc-ui/invalid-keyword.rs b/tests/rustdoc-ui/invalid-keyword.rs
index 2d70471c8..2d70471c8 100644
--- a/src/test/rustdoc-ui/invalid-keyword.rs
+++ b/tests/rustdoc-ui/invalid-keyword.rs
diff --git a/src/test/rustdoc-ui/invalid-keyword.stderr b/tests/rustdoc-ui/invalid-keyword.stderr
index 8658e3825..8658e3825 100644
--- a/src/test/rustdoc-ui/invalid-keyword.stderr
+++ b/tests/rustdoc-ui/invalid-keyword.stderr
diff --git a/src/test/rustdoc-ui/invalid-syntax.rs b/tests/rustdoc-ui/invalid-syntax.rs
index acb2a6f08..acb2a6f08 100644
--- a/src/test/rustdoc-ui/invalid-syntax.rs
+++ b/tests/rustdoc-ui/invalid-syntax.rs
diff --git a/src/test/rustdoc-ui/invalid-syntax.stderr b/tests/rustdoc-ui/invalid-syntax.stderr
index 597d19e74..6140a06c5 100644
--- a/src/test/rustdoc-ui/invalid-syntax.stderr
+++ b/tests/rustdoc-ui/invalid-syntax.stderr
@@ -77,8 +77,6 @@ LL | /// ```
| ^^^
|
= note: error from rustc: unknown start of token: `
- = note: error from rustc: unknown start of token: `
- = note: error from rustc: unknown start of token: `
warning: could not parse code block as Rust code
--> $DIR/invalid-syntax.rs:64:5
diff --git a/src/test/rustdoc-ui/invalid-theme-name.rs b/tests/rustdoc-ui/invalid-theme-name.rs
index c22ebf027..c22ebf027 100644
--- a/src/test/rustdoc-ui/invalid-theme-name.rs
+++ b/tests/rustdoc-ui/invalid-theme-name.rs
diff --git a/src/test/rustdoc-ui/invalid-theme-name.stderr b/tests/rustdoc-ui/invalid-theme-name.stderr
index 80204442d..80204442d 100644
--- a/src/test/rustdoc-ui/invalid-theme-name.stderr
+++ b/tests/rustdoc-ui/invalid-theme-name.stderr
diff --git a/src/test/rustdoc-ui/issue-101076.rs b/tests/rustdoc-ui/issue-101076.rs
index 648f99029..648f99029 100644
--- a/src/test/rustdoc-ui/issue-101076.rs
+++ b/tests/rustdoc-ui/issue-101076.rs
diff --git a/src/test/rustdoc-ui/issue-102986.rs b/tests/rustdoc-ui/issue-102986.rs
index 001784ac2..001784ac2 100644
--- a/src/test/rustdoc-ui/issue-102986.rs
+++ b/tests/rustdoc-ui/issue-102986.rs
diff --git a/src/test/rustdoc-ui/issue-102986.stderr b/tests/rustdoc-ui/issue-102986.stderr
index 3a573726c..3a573726c 100644
--- a/src/test/rustdoc-ui/issue-102986.stderr
+++ b/tests/rustdoc-ui/issue-102986.stderr
diff --git a/src/test/rustdoc-ui/issue-103997.rs b/tests/rustdoc-ui/issue-103997.rs
index 36f42fb15..36f42fb15 100644
--- a/src/test/rustdoc-ui/issue-103997.rs
+++ b/tests/rustdoc-ui/issue-103997.rs
diff --git a/src/test/rustdoc-ui/issue-103997.stderr b/tests/rustdoc-ui/issue-103997.stderr
index c06db9149..c06db9149 100644
--- a/src/test/rustdoc-ui/issue-103997.stderr
+++ b/tests/rustdoc-ui/issue-103997.stderr
diff --git a/tests/rustdoc-ui/issue-105334.rs b/tests/rustdoc-ui/issue-105334.rs
new file mode 100644
index 000000000..ee1adc6a0
--- /dev/null
+++ b/tests/rustdoc-ui/issue-105334.rs
@@ -0,0 +1,2 @@
+impl Vec< br##"*.."## > {}
+//~^ ERROR
diff --git a/tests/rustdoc-ui/issue-105334.stderr b/tests/rustdoc-ui/issue-105334.stderr
new file mode 100644
index 000000000..e163bb4db
--- /dev/null
+++ b/tests/rustdoc-ui/issue-105334.stderr
@@ -0,0 +1,9 @@
+error[E0747]: constant provided when a type was expected
+ --> $DIR/issue-105334.rs:1:11
+ |
+LL | impl Vec< br##"*.."## > {}
+ | ^^^^^^^^^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0747`.
diff --git a/tests/rustdoc-ui/issue-105737.rs b/tests/rustdoc-ui/issue-105737.rs
new file mode 100644
index 000000000..154f069d8
--- /dev/null
+++ b/tests/rustdoc-ui/issue-105737.rs
@@ -0,0 +1,4 @@
+impl Vec<lol> {}
+//~^ ERROR
+
+pub fn lol() {}
diff --git a/tests/rustdoc-ui/issue-105737.stderr b/tests/rustdoc-ui/issue-105737.stderr
new file mode 100644
index 000000000..2dd9beb17
--- /dev/null
+++ b/tests/rustdoc-ui/issue-105737.stderr
@@ -0,0 +1,12 @@
+error[E0747]: constant provided when a type was expected
+ --> $DIR/issue-105737.rs:1:10
+ |
+LL | impl Vec<lol> {}
+ | ^^^
+ |
+ = help: `lol` is a function item, not a type
+ = help: function item types cannot be named directly
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0747`.
diff --git a/tests/rustdoc-ui/issue-105742.rs b/tests/rustdoc-ui/issue-105742.rs
new file mode 100644
index 000000000..cb1de7433
--- /dev/null
+++ b/tests/rustdoc-ui/issue-105742.rs
@@ -0,0 +1,40 @@
+// compile-flags: -Znormalize-docs
+
+use std::ops::Index;
+
+pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
+//~^ ERROR
+//~^^ ERROR
+//~^^^ ERROR
+ let _ = s;
+}
+
+pub trait SVec: Index<
+ <Self as SVec>::Item,
+//~^ ERROR
+//~^^ ERROR
+//~^^^ ERROR
+//~^^^^ ERROR
+ Output = <Index<<Self as SVec>::Item,
+//~^ ERROR
+//~^^ ERROR
+//~^^^ ERROR
+//~^^^^ ERROR
+ Output = <Self as SVec>::Item> as SVec>::Item,
+//~^ ERROR
+//~^^ ERROR
+//~^^^ ERROR
+//~^^^^ ERROR
+//~^^^^^ ERROR
+//~^^^^^^ ERROR
+//~^^^^^^^ ERROR
+//~^^^^^^^^ ERROR
+> {
+ type Item<'a, T>;
+
+ fn len(&self) -> <Self as SVec>::Item;
+ //~^ ERROR
+ //~^^ ERROR
+ //~^^^ ERROR
+ //~^^^^ ERROR
+}
diff --git a/tests/rustdoc-ui/issue-105742.stderr b/tests/rustdoc-ui/issue-105742.stderr
new file mode 100644
index 000000000..ffb602cf8
--- /dev/null
+++ b/tests/rustdoc-ui/issue-105742.stderr
@@ -0,0 +1,385 @@
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:13:21
+ |
+LL | <Self as SVec>::Item,
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | <Self as SVec>::Item<'a>,
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:13:21
+ |
+LL | <Self as SVec>::Item,
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | <Self as SVec>::Item<T>,
+ | +++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:18:37
+ |
+LL | Output = <Index<<Self as SVec>::Item,
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | Output = <Index<<Self as SVec>::Item<'a>,
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:18:37
+ |
+LL | Output = <Index<<Self as SVec>::Item,
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | Output = <Index<<Self as SVec>::Item<T>,
+ | +++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:23:30
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item,
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | Output = <Self as SVec>::Item<'a>> as SVec>::Item,
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:23:30
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item,
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | Output = <Self as SVec>::Item<T>> as SVec>::Item,
+ | +++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:23:46
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item,
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item<'a>,
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:23:46
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item,
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item<T>,
+ | +++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:5:40
+ |
+LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item<'_> = T, Output = T>) {
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:5:40
+ |
+LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item<T> = T, Output = T>) {
+ | +++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:13:21
+ |
+LL | <Self as SVec>::Item,
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | <Self as SVec>::Item<'a>,
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:13:21
+ |
+LL | <Self as SVec>::Item,
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | <Self as SVec>::Item<T>,
+ | +++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:18:37
+ |
+LL | Output = <Index<<Self as SVec>::Item,
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | Output = <Index<<Self as SVec>::Item<'a>,
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:18:37
+ |
+LL | Output = <Index<<Self as SVec>::Item,
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | Output = <Index<<Self as SVec>::Item<T>,
+ | +++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:23:30
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item,
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | Output = <Self as SVec>::Item<'a>> as SVec>::Item,
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:23:30
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item,
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | Output = <Self as SVec>::Item<T>> as SVec>::Item,
+ | +++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:23:46
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item,
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item<'a>,
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:23:46
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item,
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | Output = <Self as SVec>::Item> as SVec>::Item<T>,
+ | +++
+
+error[E0038]: the trait `SVec` cannot be made into an object
+ --> $DIR/issue-105742.rs:5:31
+ |
+LL | pub fn next<'a, T>(s: &'a mut dyn SVec<Item = T, Output = T>) {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `SVec` cannot be made into an object
+ |
+note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
+ --> $DIR/issue-105742.rs:12:17
+ |
+LL | pub trait SVec: Index<
+ | ____________----__^
+ | | |
+ | | this trait cannot be made into an object...
+LL | | <Self as SVec>::Item,
+LL | |
+LL | |
+... |
+LL | |/ Output = <Index<<Self as SVec>::Item,
+LL | ||
+LL | ||
+LL | ||
+LL | ||
+LL | || Output = <Self as SVec>::Item> as SVec>::Item,
+ | ||_________________________________________________^ ...because it uses `Self` as a type parameter
+... |
+LL | |
+LL | | > {
+ | |__^ ...because it uses `Self` as a type parameter
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:35:38
+ |
+LL | fn len(&self) -> <Self as SVec>::Item;
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | fn len(&self) -> <Self as SVec>::Item<'_>;
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:35:38
+ |
+LL | fn len(&self) -> <Self as SVec>::Item;
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | fn len(&self) -> <Self as SVec>::Item<T>;
+ | +++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:35:38
+ |
+LL | fn len(&self) -> <Self as SVec>::Item;
+ | ^^^^ expected 1 lifetime argument
+ |
+note: associated type defined here, with 1 lifetime parameter: `'a`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ --
+help: add missing lifetime argument
+ |
+LL | fn len(&self) -> <Self as SVec>::Item<'_>;
+ | ++++
+
+error[E0107]: missing generics for associated type `SVec::Item`
+ --> $DIR/issue-105742.rs:35:38
+ |
+LL | fn len(&self) -> <Self as SVec>::Item;
+ | ^^^^ expected 1 generic argument
+ |
+note: associated type defined here, with 1 generic parameter: `T`
+ --> $DIR/issue-105742.rs:33:10
+ |
+LL | type Item<'a, T>;
+ | ^^^^ -
+help: add missing generic argument
+ |
+LL | fn len(&self) -> <Self as SVec>::Item<T>;
+ | +++
+
+error: aborting due to 23 previous errors
+
+Some errors have detailed explanations: E0038, E0107.
+For more information about an error, try `rustc --explain E0038`.
diff --git a/tests/rustdoc-ui/issue-106213.rs b/tests/rustdoc-ui/issue-106213.rs
new file mode 100644
index 000000000..6d51846b7
--- /dev/null
+++ b/tests/rustdoc-ui/issue-106213.rs
@@ -0,0 +1,7 @@
+// compile-flags: --document-private-items
+// edition:2021
+
+fn use_avx() -> dyn {
+ //~^ ERROR at least one trait is required for an object type
+ !( ident_error )
+}
diff --git a/tests/rustdoc-ui/issue-106213.stderr b/tests/rustdoc-ui/issue-106213.stderr
new file mode 100644
index 000000000..0a4ff69ba
--- /dev/null
+++ b/tests/rustdoc-ui/issue-106213.stderr
@@ -0,0 +1,9 @@
+error[E0224]: at least one trait is required for an object type
+ --> $DIR/issue-106213.rs:4:17
+ |
+LL | fn use_avx() -> dyn {
+ | ^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0224`.
diff --git a/tests/rustdoc-ui/issue-106226.rs b/tests/rustdoc-ui/issue-106226.rs
new file mode 100644
index 000000000..71b497a9a
--- /dev/null
+++ b/tests/rustdoc-ui/issue-106226.rs
@@ -0,0 +1,3 @@
+// This is a regression test for <https://github.com/rust-lang/rust/issues/106226>.
+type F = [_; ()];
+//~^ ERROR
diff --git a/tests/rustdoc-ui/issue-106226.stderr b/tests/rustdoc-ui/issue-106226.stderr
new file mode 100644
index 000000000..2beffbc12
--- /dev/null
+++ b/tests/rustdoc-ui/issue-106226.stderr
@@ -0,0 +1,9 @@
+error[E0308]: mismatched types
+ --> $DIR/issue-106226.rs:2:14
+ |
+LL | type F = [_; ()];
+ | ^^ expected `usize`, found `()`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/rustdoc-ui/issue-58473-2.rs b/tests/rustdoc-ui/issue-58473-2.rs
index 000b6a329..000b6a329 100644
--- a/src/test/rustdoc-ui/issue-58473-2.rs
+++ b/tests/rustdoc-ui/issue-58473-2.rs
diff --git a/src/test/rustdoc-ui/issue-58473.rs b/tests/rustdoc-ui/issue-58473.rs
index 44e1f58d0..44e1f58d0 100644
--- a/src/test/rustdoc-ui/issue-58473.rs
+++ b/tests/rustdoc-ui/issue-58473.rs
diff --git a/src/test/rustdoc-ui/issue-61592-2.rs b/tests/rustdoc-ui/issue-61592-2.rs
index 5b4fc5ee7..5b4fc5ee7 100644
--- a/src/test/rustdoc-ui/issue-61592-2.rs
+++ b/tests/rustdoc-ui/issue-61592-2.rs
diff --git a/src/test/rustdoc-ui/issue-61592-2.stderr b/tests/rustdoc-ui/issue-61592-2.stderr
index 1b7f8bb55..1b7f8bb55 100644
--- a/src/test/rustdoc-ui/issue-61592-2.stderr
+++ b/tests/rustdoc-ui/issue-61592-2.stderr
diff --git a/src/test/rustdoc-ui/issue-61592.rs b/tests/rustdoc-ui/issue-61592.rs
index 66772557f..66772557f 100644
--- a/src/test/rustdoc-ui/issue-61592.rs
+++ b/tests/rustdoc-ui/issue-61592.rs
diff --git a/src/test/rustdoc-ui/issue-61592.stderr b/tests/rustdoc-ui/issue-61592.stderr
index 9c9c9106f..9c9c9106f 100644
--- a/src/test/rustdoc-ui/issue-61592.stderr
+++ b/tests/rustdoc-ui/issue-61592.stderr
diff --git a/src/test/rustdoc-ui/issue-61732.rs b/tests/rustdoc-ui/issue-61732.rs
index 4bd8efeaa..4bd8efeaa 100644
--- a/src/test/rustdoc-ui/issue-61732.rs
+++ b/tests/rustdoc-ui/issue-61732.rs
diff --git a/src/test/rustdoc-ui/issue-61732.stderr b/tests/rustdoc-ui/issue-61732.stderr
index 38fadaa44..38fadaa44 100644
--- a/src/test/rustdoc-ui/issue-61732.stderr
+++ b/tests/rustdoc-ui/issue-61732.stderr
diff --git a/src/test/rustdoc-ui/issue-74134.private.stderr b/tests/rustdoc-ui/issue-74134.private.stderr
index 44c88b618..44c88b618 100644
--- a/src/test/rustdoc-ui/issue-74134.private.stderr
+++ b/tests/rustdoc-ui/issue-74134.private.stderr
diff --git a/src/test/rustdoc-ui/issue-74134.public.stderr b/tests/rustdoc-ui/issue-74134.public.stderr
index 5b1887b83..5b1887b83 100644
--- a/src/test/rustdoc-ui/issue-74134.public.stderr
+++ b/tests/rustdoc-ui/issue-74134.public.stderr
diff --git a/src/test/rustdoc-ui/issue-74134.rs b/tests/rustdoc-ui/issue-74134.rs
index b1be9123a..b1be9123a 100644
--- a/src/test/rustdoc-ui/issue-74134.rs
+++ b/tests/rustdoc-ui/issue-74134.rs
diff --git a/src/test/rustdoc-ui/issue-79465.rs b/tests/rustdoc-ui/issue-79465.rs
index f1a77982f..f1a77982f 100644
--- a/src/test/rustdoc-ui/issue-79465.rs
+++ b/tests/rustdoc-ui/issue-79465.rs
diff --git a/src/test/rustdoc-ui/issue-79465.stderr b/tests/rustdoc-ui/issue-79465.stderr
index 489cc1442..489cc1442 100644
--- a/src/test/rustdoc-ui/issue-79465.stderr
+++ b/tests/rustdoc-ui/issue-79465.stderr
diff --git a/src/test/rustdoc-ui/issue-79467.rs b/tests/rustdoc-ui/issue-79467.rs
index eb0b9b380..eb0b9b380 100644
--- a/src/test/rustdoc-ui/issue-79467.rs
+++ b/tests/rustdoc-ui/issue-79467.rs
diff --git a/src/test/rustdoc-ui/issue-79467.stderr b/tests/rustdoc-ui/issue-79467.stderr
index 561513a43..561513a43 100644
--- a/src/test/rustdoc-ui/issue-79467.stderr
+++ b/tests/rustdoc-ui/issue-79467.stderr
diff --git a/src/test/rustdoc-ui/issue-79494.rs b/tests/rustdoc-ui/issue-79494.rs
index fc39424b7..fc39424b7 100644
--- a/src/test/rustdoc-ui/issue-79494.rs
+++ b/tests/rustdoc-ui/issue-79494.rs
diff --git a/src/test/rustdoc-ui/issue-79494.stderr b/tests/rustdoc-ui/issue-79494.stderr
index 7ed5ed382..7ed5ed382 100644
--- a/src/test/rustdoc-ui/issue-79494.stderr
+++ b/tests/rustdoc-ui/issue-79494.stderr
diff --git a/src/test/rustdoc-ui/issue-80992.rs b/tests/rustdoc-ui/issue-80992.rs
index 8983439bb..80ff225b8 100644
--- a/src/test/rustdoc-ui/issue-80992.rs
+++ b/tests/rustdoc-ui/issue-80992.rs
@@ -1,6 +1,6 @@
// check-pass
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
pub fn test() -> Result<(), ()> {
diff --git a/src/test/rustdoc-ui/issue-80992.stdout b/tests/rustdoc-ui/issue-80992.stdout
index d2b1cd1d5..d2b1cd1d5 100644
--- a/src/test/rustdoc-ui/issue-80992.stdout
+++ b/tests/rustdoc-ui/issue-80992.stdout
diff --git a/src/test/rustdoc-ui/issue-81662-shortness.rs b/tests/rustdoc-ui/issue-81662-shortness.rs
index 27a21a313..8a90813b3 100644
--- a/src/test/rustdoc-ui/issue-81662-shortness.rs
+++ b/tests/rustdoc-ui/issue-81662-shortness.rs
@@ -1,5 +1,5 @@
// compile-flags:--test --error-format=short
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// failure-status: 101
diff --git a/src/test/rustdoc-ui/issue-81662-shortness.stdout b/tests/rustdoc-ui/issue-81662-shortness.stdout
index 748113be3..748113be3 100644
--- a/src/test/rustdoc-ui/issue-81662-shortness.stdout
+++ b/tests/rustdoc-ui/issue-81662-shortness.stdout
diff --git a/src/test/rustdoc-ui/issue-83883-describe-lints.rs b/tests/rustdoc-ui/issue-83883-describe-lints.rs
index 0474d6c14..0474d6c14 100644
--- a/src/test/rustdoc-ui/issue-83883-describe-lints.rs
+++ b/tests/rustdoc-ui/issue-83883-describe-lints.rs
diff --git a/src/test/rustdoc-ui/issue-83883-describe-lints.stdout b/tests/rustdoc-ui/issue-83883-describe-lints.stdout
index bbf66a315..bbf66a315 100644
--- a/src/test/rustdoc-ui/issue-83883-describe-lints.stdout
+++ b/tests/rustdoc-ui/issue-83883-describe-lints.stdout
diff --git a/src/test/rustdoc-ui/issue-91134.rs b/tests/rustdoc-ui/issue-91134.rs
index d2ff3a252..42703ee4d 100644
--- a/src/test/rustdoc-ui/issue-91134.rs
+++ b/tests/rustdoc-ui/issue-91134.rs
@@ -1,7 +1,7 @@
// compile-flags: --test --crate-name=empty_fn --extern=empty_fn --test-args=--test-threads=1
// aux-build:empty-fn.rs
// check-pass
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// edition:2021
diff --git a/src/test/rustdoc-ui/issue-91134.stdout b/tests/rustdoc-ui/issue-91134.stdout
index 084062743..084062743 100644
--- a/src/test/rustdoc-ui/issue-91134.stdout
+++ b/tests/rustdoc-ui/issue-91134.stdout
diff --git a/src/test/rustdoc-ui/issue-91713.rs b/tests/rustdoc-ui/issue-91713.rs
index 610bbf11d..610bbf11d 100644
--- a/src/test/rustdoc-ui/issue-91713.rs
+++ b/tests/rustdoc-ui/issue-91713.rs
diff --git a/src/test/rustdoc-ui/issue-91713.stderr b/tests/rustdoc-ui/issue-91713.stderr
index 44ead7a1d..44ead7a1d 100644
--- a/src/test/rustdoc-ui/issue-91713.stderr
+++ b/tests/rustdoc-ui/issue-91713.stderr
diff --git a/src/test/rustdoc-ui/issue-91713.stdout b/tests/rustdoc-ui/issue-91713.stdout
index 167835243..167835243 100644
--- a/src/test/rustdoc-ui/issue-91713.stdout
+++ b/tests/rustdoc-ui/issue-91713.stdout
diff --git a/tests/rustdoc-ui/issue-96287.rs b/tests/rustdoc-ui/issue-96287.rs
new file mode 100644
index 000000000..8d8b4456e
--- /dev/null
+++ b/tests/rustdoc-ui/issue-96287.rs
@@ -0,0 +1,17 @@
+#![feature(type_alias_impl_trait)]
+
+pub trait TraitWithAssoc {
+ type Assoc;
+}
+
+pub type Foo<V> = impl Trait<V::Assoc>;
+//~^ ERROR
+//~^^ ERROR
+
+pub trait Trait<U> {}
+
+impl<W> Trait<W> for () {}
+
+pub fn foo_desugared<T: TraitWithAssoc>(_: T) -> Foo<T> {
+ ()
+}
diff --git a/tests/rustdoc-ui/issue-96287.stderr b/tests/rustdoc-ui/issue-96287.stderr
new file mode 100644
index 000000000..0236b9fe6
--- /dev/null
+++ b/tests/rustdoc-ui/issue-96287.stderr
@@ -0,0 +1,15 @@
+error[E0220]: associated type `Assoc` not found for `V`
+ --> $DIR/issue-96287.rs:7:33
+ |
+LL | pub type Foo<V> = impl Trait<V::Assoc>;
+ | ^^^^^ there is a similarly named associated type `Assoc` in the trait `TraitWithAssoc`
+
+error[E0220]: associated type `Assoc` not found for `V`
+ --> $DIR/issue-96287.rs:7:33
+ |
+LL | pub type Foo<V> = impl Trait<V::Assoc>;
+ | ^^^^^ there is a similarly named associated type `Assoc` in the trait `TraitWithAssoc`
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0220`.
diff --git a/src/test/rustdoc-ui/issue-98690.rs b/tests/rustdoc-ui/issue-98690.rs
index fe9bd87ab..fe9bd87ab 100644
--- a/src/test/rustdoc-ui/issue-98690.rs
+++ b/tests/rustdoc-ui/issue-98690.rs
diff --git a/src/test/rustdoc-ui/issue-98690.stderr b/tests/rustdoc-ui/issue-98690.stderr
index 47d94f99a..47d94f99a 100644
--- a/src/test/rustdoc-ui/issue-98690.stderr
+++ b/tests/rustdoc-ui/issue-98690.stderr
diff --git a/src/test/rustdoc-ui/lint-group.rs b/tests/rustdoc-ui/lint-group.rs
index 09aca6d2b..09aca6d2b 100644
--- a/src/test/rustdoc-ui/lint-group.rs
+++ b/tests/rustdoc-ui/lint-group.rs
diff --git a/src/test/rustdoc-ui/lint-group.stderr b/tests/rustdoc-ui/lint-group.stderr
index 4f2c96588..4f2c96588 100644
--- a/src/test/rustdoc-ui/lint-group.stderr
+++ b/tests/rustdoc-ui/lint-group.stderr
diff --git a/src/test/rustdoc-ui/lint-missing-doc-code-example.rs b/tests/rustdoc-ui/lint-missing-doc-code-example.rs
index 40f35728d..40f35728d 100644
--- a/src/test/rustdoc-ui/lint-missing-doc-code-example.rs
+++ b/tests/rustdoc-ui/lint-missing-doc-code-example.rs
diff --git a/src/test/rustdoc-ui/lint-missing-doc-code-example.stderr b/tests/rustdoc-ui/lint-missing-doc-code-example.stderr
index f93312501..f93312501 100644
--- a/src/test/rustdoc-ui/lint-missing-doc-code-example.stderr
+++ b/tests/rustdoc-ui/lint-missing-doc-code-example.stderr
diff --git a/src/test/rustdoc-ui/macro-docs.rs b/tests/rustdoc-ui/macro-docs.rs
index 0e8472eb2..0e8472eb2 100644
--- a/src/test/rustdoc-ui/macro-docs.rs
+++ b/tests/rustdoc-ui/macro-docs.rs
diff --git a/src/test/rustdoc-ui/macro-docs.stderr b/tests/rustdoc-ui/macro-docs.stderr
index 2b136f5be..2b136f5be 100644
--- a/src/test/rustdoc-ui/macro-docs.stderr
+++ b/tests/rustdoc-ui/macro-docs.stderr
diff --git a/src/test/rustdoc-ui/macro-docs.stdout b/tests/rustdoc-ui/macro-docs.stdout
index e69de29bb..e69de29bb 100644
--- a/src/test/rustdoc-ui/macro-docs.stdout
+++ b/tests/rustdoc-ui/macro-docs.stdout
diff --git a/src/test/rustdoc-ui/no-crate-level-doc-lint.rs b/tests/rustdoc-ui/no-crate-level-doc-lint.rs
index a186410ac..a186410ac 100644
--- a/src/test/rustdoc-ui/no-crate-level-doc-lint.rs
+++ b/tests/rustdoc-ui/no-crate-level-doc-lint.rs
diff --git a/src/test/rustdoc-ui/no-crate-level-doc-lint.stderr b/tests/rustdoc-ui/no-crate-level-doc-lint.stderr
index fb3a5e415..fb3a5e415 100644
--- a/src/test/rustdoc-ui/no-crate-level-doc-lint.stderr
+++ b/tests/rustdoc-ui/no-crate-level-doc-lint.stderr
diff --git a/src/test/rustdoc-ui/no-run-flag-error.rs b/tests/rustdoc-ui/no-run-flag-error.rs
index 4ead62148..4ead62148 100644
--- a/src/test/rustdoc-ui/no-run-flag-error.rs
+++ b/tests/rustdoc-ui/no-run-flag-error.rs
diff --git a/src/test/rustdoc-ui/no-run-flag-error.stderr b/tests/rustdoc-ui/no-run-flag-error.stderr
index d032646c3..d032646c3 100644
--- a/src/test/rustdoc-ui/no-run-flag-error.stderr
+++ b/tests/rustdoc-ui/no-run-flag-error.stderr
diff --git a/src/test/rustdoc-ui/no-run-flag.rs b/tests/rustdoc-ui/no-run-flag.rs
index da1672c4a..181730eb4 100644
--- a/src/test/rustdoc-ui/no-run-flag.rs
+++ b/tests/rustdoc-ui/no-run-flag.rs
@@ -2,7 +2,7 @@
// check-pass
// compile-flags:-Z unstable-options --test --no-run --test-args=--test-threads=1
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
/// ```
diff --git a/src/test/rustdoc-ui/no-run-flag.stdout b/tests/rustdoc-ui/no-run-flag.stdout
index 02f28aaf6..02f28aaf6 100644
--- a/src/test/rustdoc-ui/no-run-flag.stdout
+++ b/tests/rustdoc-ui/no-run-flag.stdout
diff --git a/tests/rustdoc-ui/nocapture-fail.rs b/tests/rustdoc-ui/nocapture-fail.rs
new file mode 100644
index 000000000..9a3fb592c
--- /dev/null
+++ b/tests/rustdoc-ui/nocapture-fail.rs
@@ -0,0 +1,12 @@
+// check-pass
+// compile-flags:--test -Zunstable-options --nocapture
+// normalize-stderr-test: "tests/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
+
+/// ```compile_fail
+/// fn foo() {
+/// Input: 123
+/// }
+/// ```
+pub struct Foo;
diff --git a/src/test/rustdoc-ui/nocapture-fail.stderr b/tests/rustdoc-ui/nocapture-fail.stderr
index b65b622c1..b65b622c1 100644
--- a/src/test/rustdoc-ui/nocapture-fail.stderr
+++ b/tests/rustdoc-ui/nocapture-fail.stderr
diff --git a/src/test/rustdoc-ui/nocapture-fail.stdout b/tests/rustdoc-ui/nocapture-fail.stdout
index 754f77db5..754f77db5 100644
--- a/src/test/rustdoc-ui/nocapture-fail.stdout
+++ b/tests/rustdoc-ui/nocapture-fail.stdout
diff --git a/src/test/rustdoc-ui/nocapture.rs b/tests/rustdoc-ui/nocapture.rs
index 321f5ca08..3eb38f2fb 100644
--- a/src/test/rustdoc-ui/nocapture.rs
+++ b/tests/rustdoc-ui/nocapture.rs
@@ -1,6 +1,6 @@
// check-pass
// compile-flags:--test -Zunstable-options --nocapture
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
/// ```
diff --git a/src/test/rustdoc-ui/nocapture.stderr b/tests/rustdoc-ui/nocapture.stderr
index af6415db3..af6415db3 100644
--- a/src/test/rustdoc-ui/nocapture.stderr
+++ b/tests/rustdoc-ui/nocapture.stderr
diff --git a/src/test/rustdoc-ui/nocapture.stdout b/tests/rustdoc-ui/nocapture.stdout
index 4880e75da..4880e75da 100644
--- a/src/test/rustdoc-ui/nocapture.stdout
+++ b/tests/rustdoc-ui/nocapture.stdout
diff --git a/src/test/rustdoc-ui/normalize-cycle.rs b/tests/rustdoc-ui/normalize-cycle.rs
index 1ed9ac6bc..1ed9ac6bc 100644
--- a/src/test/rustdoc-ui/normalize-cycle.rs
+++ b/tests/rustdoc-ui/normalize-cycle.rs
diff --git a/src/test/rustdoc-ui/normalize-overflow.rs b/tests/rustdoc-ui/normalize-overflow.rs
index 3698fe70e..3698fe70e 100644
--- a/src/test/rustdoc-ui/normalize-overflow.rs
+++ b/tests/rustdoc-ui/normalize-overflow.rs
diff --git a/src/test/rustdoc-ui/output-format-html-stable.rs b/tests/rustdoc-ui/output-format-html-stable.rs
index fa0362640..fa0362640 100644
--- a/src/test/rustdoc-ui/output-format-html-stable.rs
+++ b/tests/rustdoc-ui/output-format-html-stable.rs
diff --git a/src/test/rustdoc-ui/private-doc-test.rs b/tests/rustdoc-ui/private-doc-test.rs
index a1f9f8dca..a1f9f8dca 100644
--- a/src/test/rustdoc-ui/private-doc-test.rs
+++ b/tests/rustdoc-ui/private-doc-test.rs
diff --git a/src/test/rustdoc-ui/private-item-doc-test.rs b/tests/rustdoc-ui/private-item-doc-test.rs
index 1a3d6cc63..1a3d6cc63 100644
--- a/src/test/rustdoc-ui/private-item-doc-test.rs
+++ b/tests/rustdoc-ui/private-item-doc-test.rs
diff --git a/src/test/rustdoc-ui/private-item-doc-test.stderr b/tests/rustdoc-ui/private-item-doc-test.stderr
index 5df613298..5df613298 100644
--- a/src/test/rustdoc-ui/private-item-doc-test.stderr
+++ b/tests/rustdoc-ui/private-item-doc-test.stderr
diff --git a/src/test/rustdoc-ui/private-public-item-doc-test.rs b/tests/rustdoc-ui/private-public-item-doc-test.rs
index 7cc62b38c..7cc62b38c 100644
--- a/src/test/rustdoc-ui/private-public-item-doc-test.rs
+++ b/tests/rustdoc-ui/private-public-item-doc-test.rs
diff --git a/src/test/rustdoc-ui/private-public-item-doc-test.stderr b/tests/rustdoc-ui/private-public-item-doc-test.stderr
index f50dbd184..f50dbd184 100644
--- a/src/test/rustdoc-ui/private-public-item-doc-test.stderr
+++ b/tests/rustdoc-ui/private-public-item-doc-test.stderr
diff --git a/src/test/rustdoc-ui/pub-export-lint.rs b/tests/rustdoc-ui/pub-export-lint.rs
index f2e66b77b..f2e66b77b 100644
--- a/src/test/rustdoc-ui/pub-export-lint.rs
+++ b/tests/rustdoc-ui/pub-export-lint.rs
diff --git a/src/test/rustdoc-ui/pub-export-lint.stderr b/tests/rustdoc-ui/pub-export-lint.stderr
index 81ef79961..81ef79961 100644
--- a/src/test/rustdoc-ui/pub-export-lint.stderr
+++ b/tests/rustdoc-ui/pub-export-lint.stderr
diff --git a/src/test/rustdoc-ui/public-reexported-item-doc-test.rs b/tests/rustdoc-ui/public-reexported-item-doc-test.rs
index b86a53305..b86a53305 100644
--- a/src/test/rustdoc-ui/public-reexported-item-doc-test.rs
+++ b/tests/rustdoc-ui/public-reexported-item-doc-test.rs
diff --git a/src/test/rustdoc-ui/range-pattern.rs b/tests/rustdoc-ui/range-pattern.rs
index fd255d02f..fd255d02f 100644
--- a/src/test/rustdoc-ui/range-pattern.rs
+++ b/tests/rustdoc-ui/range-pattern.rs
diff --git a/src/test/rustdoc-ui/recursive-deref-ice.rs b/tests/rustdoc-ui/recursive-deref-ice.rs
index c44fd27f4..c44fd27f4 100644
--- a/src/test/rustdoc-ui/recursive-deref-ice.rs
+++ b/tests/rustdoc-ui/recursive-deref-ice.rs
diff --git a/src/test/rustdoc-ui/reference-link-reports-error-once.rs b/tests/rustdoc-ui/reference-link-reports-error-once.rs
index 71bd2c522..71bd2c522 100644
--- a/src/test/rustdoc-ui/reference-link-reports-error-once.rs
+++ b/tests/rustdoc-ui/reference-link-reports-error-once.rs
diff --git a/src/test/rustdoc-ui/reference-link-reports-error-once.stderr b/tests/rustdoc-ui/reference-link-reports-error-once.stderr
index 2ab67090f..2ab67090f 100644
--- a/src/test/rustdoc-ui/reference-link-reports-error-once.stderr
+++ b/tests/rustdoc-ui/reference-link-reports-error-once.stderr
diff --git a/src/test/rustdoc-ui/reference-links.rs b/tests/rustdoc-ui/reference-links.rs
index e81e03446..e81e03446 100644
--- a/src/test/rustdoc-ui/reference-links.rs
+++ b/tests/rustdoc-ui/reference-links.rs
diff --git a/src/test/rustdoc-ui/reference-links.stderr b/tests/rustdoc-ui/reference-links.stderr
index c98a2fd7c..c98a2fd7c 100644
--- a/src/test/rustdoc-ui/reference-links.stderr
+++ b/tests/rustdoc-ui/reference-links.stderr
diff --git a/src/test/rustdoc-ui/renamed-lint-still-applies.rs b/tests/rustdoc-ui/renamed-lint-still-applies.rs
index a4d3a4b49..a4d3a4b49 100644
--- a/src/test/rustdoc-ui/renamed-lint-still-applies.rs
+++ b/tests/rustdoc-ui/renamed-lint-still-applies.rs
diff --git a/src/test/rustdoc-ui/renamed-lint-still-applies.stderr b/tests/rustdoc-ui/renamed-lint-still-applies.stderr
index ee9b67cb9..ee9b67cb9 100644
--- a/src/test/rustdoc-ui/renamed-lint-still-applies.stderr
+++ b/tests/rustdoc-ui/renamed-lint-still-applies.stderr
diff --git a/src/test/rustdoc-ui/run-directory.correct.stdout b/tests/rustdoc-ui/run-directory.correct.stdout
index e9b275479..e9b275479 100644
--- a/src/test/rustdoc-ui/run-directory.correct.stdout
+++ b/tests/rustdoc-ui/run-directory.correct.stdout
diff --git a/src/test/rustdoc-ui/run-directory.incorrect.stdout b/tests/rustdoc-ui/run-directory.incorrect.stdout
index 97a5dbc5c..97a5dbc5c 100644
--- a/src/test/rustdoc-ui/run-directory.incorrect.stdout
+++ b/tests/rustdoc-ui/run-directory.incorrect.stdout
diff --git a/src/test/rustdoc-ui/run-directory.rs b/tests/rustdoc-ui/run-directory.rs
index 0d432c1e6..bbceaaf82 100644
--- a/src/test/rustdoc-ui/run-directory.rs
+++ b/tests/rustdoc-ui/run-directory.rs
@@ -4,7 +4,7 @@
// check-pass
// [correct]compile-flags:--test --test-run-directory={{src-base}} -Zunstable-options
// [incorrect]compile-flags:--test --test-run-directory={{src-base}}/coverage -Zunstable-options
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
/// ```
diff --git a/src/test/rustdoc-ui/rustc-check-passes.rs b/tests/rustdoc-ui/rustc-check-passes.rs
index 56d59164d..56d59164d 100644
--- a/src/test/rustdoc-ui/rustc-check-passes.rs
+++ b/tests/rustdoc-ui/rustc-check-passes.rs
diff --git a/src/test/rustdoc-ui/rustc-check-passes.stderr b/tests/rustdoc-ui/rustc-check-passes.stderr
index 83f4e87c6..83f4e87c6 100644
--- a/src/test/rustdoc-ui/rustc-check-passes.stderr
+++ b/tests/rustdoc-ui/rustc-check-passes.stderr
diff --git a/src/test/rustdoc-ui/scrape-examples-fail-if-type-error.rs b/tests/rustdoc-ui/scrape-examples-fail-if-type-error.rs
index 8f4fde96d..8f4fde96d 100644
--- a/src/test/rustdoc-ui/scrape-examples-fail-if-type-error.rs
+++ b/tests/rustdoc-ui/scrape-examples-fail-if-type-error.rs
diff --git a/src/test/rustdoc-ui/scrape-examples-fail-if-type-error.stderr b/tests/rustdoc-ui/scrape-examples-fail-if-type-error.stderr
index 750aa3207..750aa3207 100644
--- a/src/test/rustdoc-ui/scrape-examples-fail-if-type-error.stderr
+++ b/tests/rustdoc-ui/scrape-examples-fail-if-type-error.stderr
diff --git a/src/test/rustdoc-ui/scrape-examples-ice.rs b/tests/rustdoc-ui/scrape-examples-ice.rs
index d629b62a7..d629b62a7 100644
--- a/src/test/rustdoc-ui/scrape-examples-ice.rs
+++ b/tests/rustdoc-ui/scrape-examples-ice.rs
diff --git a/src/test/rustdoc-ui/scrape-examples-wrong-options-1.rs b/tests/rustdoc-ui/scrape-examples-wrong-options-1.rs
index a1f005c32..a1f005c32 100644
--- a/src/test/rustdoc-ui/scrape-examples-wrong-options-1.rs
+++ b/tests/rustdoc-ui/scrape-examples-wrong-options-1.rs
diff --git a/src/test/rustdoc-ui/scrape-examples-wrong-options-1.stderr b/tests/rustdoc-ui/scrape-examples-wrong-options-1.stderr
index eb8e9f799..eb8e9f799 100644
--- a/src/test/rustdoc-ui/scrape-examples-wrong-options-1.stderr
+++ b/tests/rustdoc-ui/scrape-examples-wrong-options-1.stderr
diff --git a/src/test/rustdoc-ui/scrape-examples-wrong-options-2.rs b/tests/rustdoc-ui/scrape-examples-wrong-options-2.rs
index 4aacec7f0..4aacec7f0 100644
--- a/src/test/rustdoc-ui/scrape-examples-wrong-options-2.rs
+++ b/tests/rustdoc-ui/scrape-examples-wrong-options-2.rs
diff --git a/src/test/rustdoc-ui/scrape-examples-wrong-options-2.stderr b/tests/rustdoc-ui/scrape-examples-wrong-options-2.stderr
index eb8e9f799..eb8e9f799 100644
--- a/src/test/rustdoc-ui/scrape-examples-wrong-options-2.stderr
+++ b/tests/rustdoc-ui/scrape-examples-wrong-options-2.stderr
diff --git a/src/test/rustdoc-ui/search-index-generics-recursion-bug-issue-59502.rs b/tests/rustdoc-ui/search-index-generics-recursion-bug-issue-59502.rs
index ce51556dd..ce51556dd 100644
--- a/src/test/rustdoc-ui/search-index-generics-recursion-bug-issue-59502.rs
+++ b/tests/rustdoc-ui/search-index-generics-recursion-bug-issue-59502.rs
diff --git a/src/test/rustdoc-ui/suggestions/html-as-generics-no-suggestions.rs b/tests/rustdoc-ui/suggestions/html-as-generics-no-suggestions.rs
index 476e3b2d4..476e3b2d4 100644
--- a/src/test/rustdoc-ui/suggestions/html-as-generics-no-suggestions.rs
+++ b/tests/rustdoc-ui/suggestions/html-as-generics-no-suggestions.rs
diff --git a/src/test/rustdoc-ui/suggestions/html-as-generics-no-suggestions.stderr b/tests/rustdoc-ui/suggestions/html-as-generics-no-suggestions.stderr
index 3856a2513..3856a2513 100644
--- a/src/test/rustdoc-ui/suggestions/html-as-generics-no-suggestions.stderr
+++ b/tests/rustdoc-ui/suggestions/html-as-generics-no-suggestions.stderr
diff --git a/src/test/rustdoc-ui/suggestions/html-as-generics.fixed b/tests/rustdoc-ui/suggestions/html-as-generics.fixed
index 003542d38..003542d38 100644
--- a/src/test/rustdoc-ui/suggestions/html-as-generics.fixed
+++ b/tests/rustdoc-ui/suggestions/html-as-generics.fixed
diff --git a/src/test/rustdoc-ui/suggestions/html-as-generics.rs b/tests/rustdoc-ui/suggestions/html-as-generics.rs
index 4254a660b..4254a660b 100644
--- a/src/test/rustdoc-ui/suggestions/html-as-generics.rs
+++ b/tests/rustdoc-ui/suggestions/html-as-generics.rs
diff --git a/src/test/rustdoc-ui/suggestions/html-as-generics.stderr b/tests/rustdoc-ui/suggestions/html-as-generics.stderr
index 481278bda..481278bda 100644
--- a/src/test/rustdoc-ui/suggestions/html-as-generics.stderr
+++ b/tests/rustdoc-ui/suggestions/html-as-generics.stderr
diff --git a/src/test/rustdoc-ui/test-compile-fail1.rs b/tests/rustdoc-ui/test-compile-fail1.rs
index a05390238..a05390238 100644
--- a/src/test/rustdoc-ui/test-compile-fail1.rs
+++ b/tests/rustdoc-ui/test-compile-fail1.rs
diff --git a/src/test/rustdoc-ui/test-compile-fail1.stderr b/tests/rustdoc-ui/test-compile-fail1.stderr
index 72915e46b..72915e46b 100644
--- a/src/test/rustdoc-ui/test-compile-fail1.stderr
+++ b/tests/rustdoc-ui/test-compile-fail1.stderr
diff --git a/src/test/rustdoc-ui/test-compile-fail2.rs b/tests/rustdoc-ui/test-compile-fail2.rs
index 651ded0a0..651ded0a0 100644
--- a/src/test/rustdoc-ui/test-compile-fail2.rs
+++ b/tests/rustdoc-ui/test-compile-fail2.rs
diff --git a/src/test/rustdoc-ui/test-compile-fail2.stderr b/tests/rustdoc-ui/test-compile-fail2.stderr
index cee5b63cf..cee5b63cf 100644
--- a/src/test/rustdoc-ui/test-compile-fail2.stderr
+++ b/tests/rustdoc-ui/test-compile-fail2.stderr
diff --git a/src/test/rustdoc-ui/test-compile-fail3.rs b/tests/rustdoc-ui/test-compile-fail3.rs
index faa30ad83..faa30ad83 100644
--- a/src/test/rustdoc-ui/test-compile-fail3.rs
+++ b/tests/rustdoc-ui/test-compile-fail3.rs
diff --git a/src/test/rustdoc-ui/test-compile-fail3.stderr b/tests/rustdoc-ui/test-compile-fail3.stderr
index fab801b3b..fab801b3b 100644
--- a/src/test/rustdoc-ui/test-compile-fail3.stderr
+++ b/tests/rustdoc-ui/test-compile-fail3.stderr
diff --git a/src/test/rustdoc-ui/test-no_std.rs b/tests/rustdoc-ui/test-no_std.rs
index ee919985e..51abf1c72 100644
--- a/src/test/rustdoc-ui/test-no_std.rs
+++ b/tests/rustdoc-ui/test-no_std.rs
@@ -1,5 +1,5 @@
// compile-flags:--test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// check-pass
diff --git a/src/test/rustdoc-ui/test-no_std.stdout b/tests/rustdoc-ui/test-no_std.stdout
index 8d5a30804..8d5a30804 100644
--- a/src/test/rustdoc-ui/test-no_std.stdout
+++ b/tests/rustdoc-ui/test-no_std.stdout
diff --git a/src/test/rustdoc-ui/test-type.rs b/tests/rustdoc-ui/test-type.rs
index 882da5c25..7f5a8f3fc 100644
--- a/src/test/rustdoc-ui/test-type.rs
+++ b/tests/rustdoc-ui/test-type.rs
@@ -1,6 +1,6 @@
// compile-flags: --test --test-args=--test-threads=1
// check-pass
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
/// ```
diff --git a/src/test/rustdoc-ui/test-type.stdout b/tests/rustdoc-ui/test-type.stdout
index a66fd240d..a66fd240d 100644
--- a/src/test/rustdoc-ui/test-type.stdout
+++ b/tests/rustdoc-ui/test-type.stdout
diff --git a/src/test/rustdoc-ui/track-diagnostics.rs b/tests/rustdoc-ui/track-diagnostics.rs
index fcc50a7ab..fcc50a7ab 100644
--- a/src/test/rustdoc-ui/track-diagnostics.rs
+++ b/tests/rustdoc-ui/track-diagnostics.rs
diff --git a/src/test/rustdoc-ui/track-diagnostics.stderr b/tests/rustdoc-ui/track-diagnostics.stderr
index ec3031862..ec3031862 100644
--- a/src/test/rustdoc-ui/track-diagnostics.stderr
+++ b/tests/rustdoc-ui/track-diagnostics.stderr
diff --git a/src/test/rustdoc-ui/tuple-variadic-check.rs b/tests/rustdoc-ui/tuple-variadic-check.rs
index 505de5348..505de5348 100644
--- a/src/test/rustdoc-ui/tuple-variadic-check.rs
+++ b/tests/rustdoc-ui/tuple-variadic-check.rs
diff --git a/src/test/rustdoc-ui/tuple-variadic-check.stderr b/tests/rustdoc-ui/tuple-variadic-check.stderr
index d127fb858..d127fb858 100644
--- a/src/test/rustdoc-ui/tuple-variadic-check.stderr
+++ b/tests/rustdoc-ui/tuple-variadic-check.stderr
diff --git a/tests/rustdoc-ui/unable-fulfill-trait.rs b/tests/rustdoc-ui/unable-fulfill-trait.rs
new file mode 100644
index 000000000..703570822
--- /dev/null
+++ b/tests/rustdoc-ui/unable-fulfill-trait.rs
@@ -0,0 +1,13 @@
+// This test ensures that it's not crashing rustdoc.
+
+pub struct Foo<'a, 'b, T> {
+ field1: dyn Bar<'a, 'b,>,
+ //~^ ERROR
+ //~^^ ERROR
+}
+
+pub trait Bar<'x, 's, U>
+ where U: 'x,
+ Self:'x,
+ Self:'s
+{}
diff --git a/tests/rustdoc-ui/unable-fulfill-trait.stderr b/tests/rustdoc-ui/unable-fulfill-trait.stderr
new file mode 100644
index 000000000..a16b5b6eb
--- /dev/null
+++ b/tests/rustdoc-ui/unable-fulfill-trait.stderr
@@ -0,0 +1,26 @@
+error[E0107]: this trait takes 1 generic argument but 0 generic arguments were supplied
+ --> $DIR/unable-fulfill-trait.rs:4:17
+ |
+LL | field1: dyn Bar<'a, 'b,>,
+ | ^^^ expected 1 generic argument
+ |
+note: trait defined here, with 1 generic parameter: `U`
+ --> $DIR/unable-fulfill-trait.rs:9:11
+ |
+LL | pub trait Bar<'x, 's, U>
+ | ^^^ -
+help: add missing generic argument
+ |
+LL | field1: dyn Bar<'a, 'b, U,>,
+ | +++
+
+error[E0227]: ambiguous lifetime bound, explicit lifetime bound required
+ --> $DIR/unable-fulfill-trait.rs:4:13
+ |
+LL | field1: dyn Bar<'a, 'b,>,
+ | ^^^^^^^^^^^^^^^^
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0107, E0227.
+For more information about an error, try `rustc --explain E0107`.
diff --git a/src/test/rustdoc-ui/unknown-renamed-lints.rs b/tests/rustdoc-ui/unknown-renamed-lints.rs
index ddf03dd07..ddf03dd07 100644
--- a/src/test/rustdoc-ui/unknown-renamed-lints.rs
+++ b/tests/rustdoc-ui/unknown-renamed-lints.rs
diff --git a/src/test/rustdoc-ui/unknown-renamed-lints.stderr b/tests/rustdoc-ui/unknown-renamed-lints.stderr
index b105f47d7..b105f47d7 100644
--- a/src/test/rustdoc-ui/unknown-renamed-lints.stderr
+++ b/tests/rustdoc-ui/unknown-renamed-lints.stderr
diff --git a/src/test/rustdoc-ui/unparseable-doc-test.rs b/tests/rustdoc-ui/unparseable-doc-test.rs
index 0cff8cd9a..f0a56a91b 100644
--- a/src/test/rustdoc-ui/unparseable-doc-test.rs
+++ b/tests/rustdoc-ui/unparseable-doc-test.rs
@@ -1,5 +1,5 @@
// compile-flags: --test
-// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
+// normalize-stdout-test: "tests/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// failure-status: 101
// rustc-env: RUST_BACKTRACE=0
diff --git a/src/test/rustdoc-ui/unparseable-doc-test.stdout b/tests/rustdoc-ui/unparseable-doc-test.stdout
index 2641c66f2..2641c66f2 100644
--- a/src/test/rustdoc-ui/unparseable-doc-test.stdout
+++ b/tests/rustdoc-ui/unparseable-doc-test.stdout
diff --git a/src/test/rustdoc-ui/unused-braces-lint.rs b/tests/rustdoc-ui/unused-braces-lint.rs
index be0e31e4b..be0e31e4b 100644
--- a/src/test/rustdoc-ui/unused-braces-lint.rs
+++ b/tests/rustdoc-ui/unused-braces-lint.rs
diff --git a/src/test/rustdoc-ui/unused-extern-crate.rs b/tests/rustdoc-ui/unused-extern-crate.rs
index f703a1837..f703a1837 100644
--- a/src/test/rustdoc-ui/unused-extern-crate.rs
+++ b/tests/rustdoc-ui/unused-extern-crate.rs
diff --git a/src/test/rustdoc-ui/unused.rs b/tests/rustdoc-ui/unused.rs
index 702b24c36..702b24c36 100644
--- a/src/test/rustdoc-ui/unused.rs
+++ b/tests/rustdoc-ui/unused.rs
diff --git a/src/test/rustdoc-ui/use_both_out_dir_and_output_options.rs b/tests/rustdoc-ui/use_both_out_dir_and_output_options.rs
index 5037043f1..5037043f1 100644
--- a/src/test/rustdoc-ui/use_both_out_dir_and_output_options.rs
+++ b/tests/rustdoc-ui/use_both_out_dir_and_output_options.rs
diff --git a/src/test/rustdoc-ui/use_both_out_dir_and_output_options.stderr b/tests/rustdoc-ui/use_both_out_dir_and_output_options.stderr
index 96d2295ac..96d2295ac 100644
--- a/src/test/rustdoc-ui/use_both_out_dir_and_output_options.stderr
+++ b/tests/rustdoc-ui/use_both_out_dir_and_output_options.stderr
diff --git a/src/test/rustdoc-ui/wasm-safe.rs b/tests/rustdoc-ui/wasm-safe.rs
index ba971342b..ba971342b 100644
--- a/src/test/rustdoc-ui/wasm-safe.rs
+++ b/tests/rustdoc-ui/wasm-safe.rs
diff --git a/src/test/rustdoc-ui/z-help.rs b/tests/rustdoc-ui/z-help.rs
index c7cf841b9..c7cf841b9 100644
--- a/src/test/rustdoc-ui/z-help.rs
+++ b/tests/rustdoc-ui/z-help.rs
diff --git a/src/test/rustdoc-ui/z-help.stdout b/tests/rustdoc-ui/z-help.stdout
index 94cf7b942..4bdecdc1b 100644
--- a/src/test/rustdoc-ui/z-help.stdout
+++ b/tests/rustdoc-ui/z-help.stdout
@@ -1,4 +1,4 @@
- -Z allow-features=val -- only allow the listed language features to be enabled in code (space separated)
+ -Z allow-features=val -- only allow the listed language features to be enabled in code (comma separated)
-Z always-encode-mir=val -- encode MIR of all functions into the crate metadata (default: no)
-Z asm-comments=val -- generate comments into the assembly (may change behavior) (default: no)
-Z assert-incr-state=val -- assert that the incremental cache is in given state: either `loaded` or `not-loaded`.
@@ -8,7 +8,6 @@
-Z branch-protection=val -- set options for branch target identification and pointer authentication on AArch64
-Z cf-protection=val -- instrument control-flow architecture protection
-Z cgu-partitioning-strategy=val -- the codegen unit partitioning strategy to use
- -Z chalk=val -- enable the experimental Chalk-based trait solving engine
-Z codegen-backend=val -- the backend to use
-Z combine-cgu=val -- combine CGUs into a single one
-Z crate-attr=val -- inject the given attribute in the crate
@@ -35,6 +34,8 @@
-Z dump-mir-exclude-pass-number=val -- exclude the pass number when dumping MIR (used in tests) (default: no)
-Z dump-mir-graphviz=val -- in addition to `.mir` files, create graphviz `.dot` files (and with `-Z instrument-coverage`, also create a `.dot` file for the MIR-derived coverage graph) (default: no)
-Z dump-mir-spanview=val -- in addition to `.mir` files, create `.html` files to view spans for all `statement`s (including terminators), only `terminator` spans, or computed `block` spans (one span encompassing a block's terminator and all statements). If `-Z instrument-coverage` is also enabled, create an additional `.html` file showing the computed coverage spans.
+ -Z dump-mono-stats=val -- output statistics about monomorphization collection
+ -Z dump-mono-stats-format=val -- the format to use for -Z dump-mono-stats (`markdown` (default) or `json`)
-Z dwarf-version=val -- version of DWARF debug information to emit (default: 2 or 4, depending on platform)
-Z dylib-lto=val -- enables LTO for dylib crate type
-Z emit-stack-sizes=val -- emit a section containing stack size metadata (default: no)
@@ -75,6 +76,7 @@
-Z llvm-plugins=val -- a list LLVM plugins to enable (space separated)
-Z llvm-time-trace=val -- generate JSON tracing data file from LLVM data (default: no)
-Z location-detail=val -- what location details should be tracked when using caller_location, either `none`, or a comma separated list of location details, for which valid options are `file`, `line`, and `column` (default: `file,line,column`)
+ -Z log-backtrace=val -- add a backtrace along with logging
-Z ls=val -- list the symbols defined by a library crate (default: no)
-Z macro-backtrace=val -- show macro backtraces (default: no)
-Z maximal-hir-to-mir-coverage=val -- save as much information as possible about the correspondence between MIR and HIR as source scopes (default: no)
@@ -91,6 +93,7 @@
-Z no-analysis=val -- parse and expand the source, but run no analysis
-Z no-codegen=val -- run all passes except codegen; no output
-Z no-generate-arange-section=val -- omit DWARF address ranges that give faster lookups
+ -Z no-jump-tables=val -- disable the jump tables and lookup tables that can be generated from a switch case lowering
-Z no-leak-check=val -- disable the 'leak check' for subtyping; unsound, but useful for tests
-Z no-link=val -- compile without linking
-Z no-parallel-llvm=val -- run LLVM in non-parallel mode (while keeping codegen-units and ThinLTO)
@@ -172,6 +175,7 @@
-Z tls-model=val -- choose the TLS model to use (`rustc --print tls-models` for details)
-Z trace-macros=val -- for every macro invocation, print its name and arguments (default: no)
-Z track-diagnostics=val -- tracks where in rustc a diagnostic was emitted
+ -Z trait-solver=val -- specify the trait solver mode used by rustc (default: classic)
-Z translate-additional-ftl=val -- additional fluent translation to preferentially use (for testing translation)
-Z translate-directionality-markers=val -- emit directionality isolation markers in translated diagnostics
-Z translate-lang=val -- language identifier for diagnostic output
diff --git a/src/test/rustdoc/all.rs b/tests/rustdoc/all.rs
index 4c8d02310..4c8d02310 100644
--- a/src/test/rustdoc/all.rs
+++ b/tests/rustdoc/all.rs
diff --git a/src/test/rustdoc/anchors.no_const_anchor.html b/tests/rustdoc/anchors.no_const_anchor.html
index 75e67330a..75e67330a 100644
--- a/src/test/rustdoc/anchors.no_const_anchor.html
+++ b/tests/rustdoc/anchors.no_const_anchor.html
diff --git a/src/test/rustdoc/anchors.no_const_anchor2.html b/tests/rustdoc/anchors.no_const_anchor2.html
index c00251976..c00251976 100644
--- a/src/test/rustdoc/anchors.no_const_anchor2.html
+++ b/tests/rustdoc/anchors.no_const_anchor2.html
diff --git a/src/test/rustdoc/anchors.no_method_anchor.html b/tests/rustdoc/anchors.no_method_anchor.html
index b9ec8bf4c..b9ec8bf4c 100644
--- a/src/test/rustdoc/anchors.no_method_anchor.html
+++ b/tests/rustdoc/anchors.no_method_anchor.html
diff --git a/src/test/rustdoc/anchors.no_trait_method_anchor.html b/tests/rustdoc/anchors.no_trait_method_anchor.html
index 4308ddad4..4308ddad4 100644
--- a/src/test/rustdoc/anchors.no_trait_method_anchor.html
+++ b/tests/rustdoc/anchors.no_trait_method_anchor.html
diff --git a/src/test/rustdoc/anchors.no_tymethod_anchor.html b/tests/rustdoc/anchors.no_tymethod_anchor.html
index 91eed8a37..91eed8a37 100644
--- a/src/test/rustdoc/anchors.no_tymethod_anchor.html
+++ b/tests/rustdoc/anchors.no_tymethod_anchor.html
diff --git a/src/test/rustdoc/anchors.no_type_anchor.html b/tests/rustdoc/anchors.no_type_anchor.html
index 2c66d5aa3..2c66d5aa3 100644
--- a/src/test/rustdoc/anchors.no_type_anchor.html
+++ b/tests/rustdoc/anchors.no_type_anchor.html
diff --git a/src/test/rustdoc/anchors.no_type_anchor2.html b/tests/rustdoc/anchors.no_type_anchor2.html
index 72a1186bf..72a1186bf 100644
--- a/src/test/rustdoc/anchors.no_type_anchor2.html
+++ b/tests/rustdoc/anchors.no_type_anchor2.html
diff --git a/src/test/rustdoc/anchors.rs b/tests/rustdoc/anchors.rs
index 034cf8eaf..034cf8eaf 100644
--- a/src/test/rustdoc/anchors.rs
+++ b/tests/rustdoc/anchors.rs
diff --git a/src/test/rustdoc/anonymous-lifetime.rs b/tests/rustdoc/anonymous-lifetime.rs
index 390ed5a1f..390ed5a1f 100644
--- a/src/test/rustdoc/anonymous-lifetime.rs
+++ b/tests/rustdoc/anonymous-lifetime.rs
diff --git a/src/test/rustdoc/anonymous-reexport.rs b/tests/rustdoc/anonymous-reexport.rs
index 6b884ff14..6b884ff14 100644
--- a/src/test/rustdoc/anonymous-reexport.rs
+++ b/tests/rustdoc/anonymous-reexport.rs
diff --git a/src/test/rustdoc/array-links.link_box_generic.html b/tests/rustdoc/array-links.link_box_generic.html
index 3481bb6a0..3481bb6a0 100644
--- a/src/test/rustdoc/array-links.link_box_generic.html
+++ b/tests/rustdoc/array-links.link_box_generic.html
diff --git a/src/test/rustdoc/array-links.link_box_u32.html b/tests/rustdoc/array-links.link_box_u32.html
index e864ae55c..e864ae55c 100644
--- a/src/test/rustdoc/array-links.link_box_u32.html
+++ b/tests/rustdoc/array-links.link_box_u32.html
diff --git a/src/test/rustdoc/array-links.link_slice_generic.html b/tests/rustdoc/array-links.link_slice_generic.html
index f1ca2f59b..f1ca2f59b 100644
--- a/src/test/rustdoc/array-links.link_slice_generic.html
+++ b/tests/rustdoc/array-links.link_slice_generic.html
diff --git a/src/test/rustdoc/array-links.link_slice_u32.html b/tests/rustdoc/array-links.link_slice_u32.html
index c3943e8d3..c3943e8d3 100644
--- a/src/test/rustdoc/array-links.link_slice_u32.html
+++ b/tests/rustdoc/array-links.link_slice_u32.html
diff --git a/tests/rustdoc/array-links.rs b/tests/rustdoc/array-links.rs
new file mode 100644
index 000000000..e7c0ee2de
--- /dev/null
+++ b/tests/rustdoc/array-links.rs
@@ -0,0 +1,28 @@
+#![crate_name = "foo"]
+#![no_std]
+
+pub struct MyBox<T: ?Sized>(*const T);
+
+// @has 'foo/fn.alpha.html'
+// @snapshot link_slice_u32 - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn alpha() -> &'static [u32; 1] {
+ loop {}
+}
+
+// @has 'foo/fn.beta.html'
+// @snapshot link_slice_generic - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn beta<T>() -> &'static [T; 1] {
+ loop {}
+}
+
+// @has 'foo/fn.gamma.html'
+// @snapshot link_box_u32 - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn gamma() -> MyBox<[u32; 1]> {
+ loop {}
+}
+
+// @has 'foo/fn.delta.html'
+// @snapshot link_box_generic - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn delta<T>() -> MyBox<[T; 1]> {
+ loop {}
+}
diff --git a/src/test/rustdoc/asm-foreign.rs b/tests/rustdoc/asm-foreign.rs
index d7550ca5a..d7550ca5a 100644
--- a/src/test/rustdoc/asm-foreign.rs
+++ b/tests/rustdoc/asm-foreign.rs
diff --git a/src/test/rustdoc/asm-foreign2.rs b/tests/rustdoc/asm-foreign2.rs
index 87306901e..87306901e 100644
--- a/src/test/rustdoc/asm-foreign2.rs
+++ b/tests/rustdoc/asm-foreign2.rs
diff --git a/src/test/rustdoc/assoc-consts-version.rs b/tests/rustdoc/assoc-consts-version.rs
index 6060bc0a6..6060bc0a6 100644
--- a/src/test/rustdoc/assoc-consts-version.rs
+++ b/tests/rustdoc/assoc-consts-version.rs
diff --git a/src/test/rustdoc/assoc-consts.rs b/tests/rustdoc/assoc-consts.rs
index 3da19a13e..77b139b64 100644
--- a/src/test/rustdoc/assoc-consts.rs
+++ b/tests/rustdoc/assoc-consts.rs
@@ -1,5 +1,5 @@
pub trait Foo {
- // @has assoc_consts/trait.Foo.html '//*[@class="rust trait"]' \
+ // @has assoc_consts/trait.Foo.html '//div[@class="item-decl"]/pre[@class="rust"]' \
// 'const FOO: usize = 13usize;'
// @has - '//*[@id="associatedconstant.FOO"]' 'const FOO: usize'
const FOO: usize = 12 + 1;
diff --git a/tests/rustdoc/assoc-item-cast.rs b/tests/rustdoc/assoc-item-cast.rs
new file mode 100644
index 000000000..ab9702a24
--- /dev/null
+++ b/tests/rustdoc/assoc-item-cast.rs
@@ -0,0 +1,14 @@
+#![crate_name = "foo"]
+
+pub trait Expression {
+ type SqlType;
+}
+
+pub trait AsExpression<T> {
+ type Expression: Expression<SqlType = T>;
+ fn as_expression(self) -> Self::Expression;
+}
+
+// @has foo/type.AsExprOf.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'type AsExprOf<Item, Type> = <Item as AsExpression<Type>>::Expression;'
+pub type AsExprOf<Item, Type> = <Item as AsExpression<Type>>::Expression;
diff --git a/tests/rustdoc/assoc-types.rs b/tests/rustdoc/assoc-types.rs
new file mode 100644
index 000000000..de36c8ffe
--- /dev/null
+++ b/tests/rustdoc/assoc-types.rs
@@ -0,0 +1,37 @@
+#![crate_type="lib"]
+
+// @has assoc_types/trait.Index.html
+pub trait Index<I: ?Sized> {
+ // @has - '//*[@id="associatedtype.Output"]//h4[@class="code-header"]' 'type Output: ?Sized'
+ type Output: ?Sized;
+ // @has - '//*[@id="tymethod.index"]//h4[@class="code-header"]' \
+ // "fn index<'a>(&'a self, index: I) -> &'a Self::Output"
+ // @has - '//*[@id="tymethod.index"]//h4[@class="code-header"]//a[@href="trait.Index.html#associatedtype.Output"]' \
+ // "Output"
+ fn index<'a>(&'a self, index: I) -> &'a Self::Output;
+}
+
+// @has assoc_types/fn.use_output.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' '-> &T::Output'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]//a[@href="trait.Index.html#associatedtype.Output"]' 'Output'
+pub fn use_output<T: Index<usize>>(obj: &T, index: usize) -> &T::Output {
+ obj.index(index)
+}
+
+pub trait Feed {
+ type Input;
+}
+
+// @has assoc_types/fn.use_input.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'T::Input'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]//a[@href="trait.Feed.html#associatedtype.Input"]' 'Input'
+pub fn use_input<T: Feed>(_feed: &T, _element: T::Input) { }
+
+// @has assoc_types/fn.cmp_input.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'where T::Input: PartialEq<U::Input>'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]//a[@href="trait.Feed.html#associatedtype.Input"]' 'Input'
+pub fn cmp_input<T: Feed, U: Feed>(a: &T::Input, b: &U::Input) -> bool
+ where T::Input: PartialEq<U::Input>
+{
+ a == b
+}
diff --git a/src/test/rustdoc/associated-consts.rs b/tests/rustdoc/associated-consts.rs
index adb155bb5..adb155bb5 100644
--- a/src/test/rustdoc/associated-consts.rs
+++ b/tests/rustdoc/associated-consts.rs
diff --git a/tests/rustdoc/async-fn.rs b/tests/rustdoc/async-fn.rs
new file mode 100644
index 000000000..fb7ebb5f8
--- /dev/null
+++ b/tests/rustdoc/async-fn.rs
@@ -0,0 +1,95 @@
+// edition:2018
+// @has async_fn/fn.foo.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn foo() -> Option<Foo>'
+pub async fn foo() -> Option<Foo> {
+ None
+}
+
+// @has async_fn/fn.bar.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn bar(a: i32, b: i32) -> i32'
+pub async fn bar(a: i32, b: i32) -> i32 {
+ 0
+}
+
+// @has async_fn/fn.baz.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn baz<T>(a: T) -> T'
+pub async fn baz<T>(a: T) -> T {
+ a
+}
+
+// @has async_fn/fn.qux.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async unsafe fn qux() -> char'
+pub async unsafe fn qux() -> char {
+ 'âš '
+}
+
+// @has async_fn/fn.mut_args.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn mut_args(a: usize)'
+pub async fn mut_args(mut a: usize) {}
+
+// @has async_fn/fn.mut_ref.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn mut_ref(x: i32)'
+pub async fn mut_ref(ref mut x: i32) {}
+
+trait Bar {}
+
+impl Bar for () {}
+
+// @has async_fn/fn.quux.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn quux() -> impl Bar'
+pub async fn quux() -> impl Bar {
+ ()
+}
+
+// @has async_fn/struct.Foo.html
+// @matches - '//h4[@class="code-header"]' 'pub async fn f\(\)$'
+// @matches - '//h4[@class="code-header"]' 'pub async unsafe fn g\(\)$'
+// @matches - '//h4[@class="code-header"]' 'pub async fn mut_self\(self, first: usize\)$'
+pub struct Foo;
+
+impl Foo {
+ pub async fn f() {}
+ pub async unsafe fn g() {}
+ pub async fn mut_self(mut self, mut first: usize) {}
+}
+
+pub trait Pattern<'a> {}
+
+pub trait Trait<const N: usize> {}
+// @has async_fn/fn.const_generics.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn const_generics<const N: usize>(_: impl Trait<N>)'
+pub async fn const_generics<const N: usize>(_: impl Trait<N>) {}
+
+// test that elided lifetimes are properly elided and not displayed as `'_`
+// regression test for #63037
+// @has async_fn/fn.elided.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn elided(foo: &str) -> &str'
+pub async fn elided(foo: &str) -> &str {}
+// This should really be shown as written, but for implementation reasons it's difficult.
+// See `impl Clean for TyKind::Ref`.
+// @has async_fn/fn.user_elided.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn user_elided(foo: &str) -> &str'
+pub async fn user_elided(foo: &'_ str) -> &str {}
+// @has async_fn/fn.static_trait.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub async fn static_trait(foo: &str) -> Box<dyn Bar>'
+pub async fn static_trait(foo: &str) -> Box<dyn Bar> {}
+// @has async_fn/fn.lifetime_for_trait.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "pub async fn lifetime_for_trait(foo: &str) -> Box<dyn Bar + '_>"
+pub async fn lifetime_for_trait(foo: &str) -> Box<dyn Bar + '_> {}
+// @has async_fn/fn.elided_in_input_trait.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "pub async fn elided_in_input_trait(t: impl Pattern<'_>)"
+pub async fn elided_in_input_trait(t: impl Pattern<'_>) {}
+
+struct AsyncFdReadyGuard<'a, T> { x: &'a T }
+
+impl Foo {
+ // @has async_fn/struct.Foo.html
+ // @has - '//*[@class="method has-srclink"]' 'pub async fn complicated_lifetimes( &self, context: &impl Bar) -> impl Iterator<Item = &usize>'
+ pub async fn complicated_lifetimes(&self, context: &impl Bar) -> impl Iterator<Item = &usize> {}
+ // taken from `tokio` as an example of a method that was particularly bad before
+ // @has - '//*[@class="method has-srclink"]' "pub async fn readable<T>(&self) -> Result<AsyncFdReadyGuard<'_, T>, ()>"
+ pub async fn readable<T>(&self) -> Result<AsyncFdReadyGuard<'_, T>, ()> {}
+ // @has - '//*[@class="method has-srclink"]' "pub async fn mut_self(&mut self)"
+ pub async fn mut_self(&mut self) {}
+}
+
+// test named lifetimes, just in case
+// @has async_fn/fn.named.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "pub async fn named<'a, 'b>(foo: &'a str) -> &'b str"
+pub async fn named<'a, 'b>(foo: &'a str) -> &'b str {}
+// @has async_fn/fn.named_trait.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "pub async fn named_trait<'a, 'b>(foo: impl Pattern<'a>) -> impl Pattern<'b>"
+pub async fn named_trait<'a, 'b>(foo: impl Pattern<'a>) -> impl Pattern<'b> {}
diff --git a/src/test/rustdoc/async-move-doctest.rs b/tests/rustdoc/async-move-doctest.rs
index 2ba61388c..2ba61388c 100644
--- a/src/test/rustdoc/async-move-doctest.rs
+++ b/tests/rustdoc/async-move-doctest.rs
diff --git a/src/test/rustdoc/async-trait-sig.rs b/tests/rustdoc/async-trait-sig.rs
index 2578bc8f7..2578bc8f7 100644
--- a/src/test/rustdoc/async-trait-sig.rs
+++ b/tests/rustdoc/async-trait-sig.rs
diff --git a/src/test/rustdoc/async-trait.rs b/tests/rustdoc/async-trait.rs
index a473e4674..a473e4674 100644
--- a/src/test/rustdoc/async-trait.rs
+++ b/tests/rustdoc/async-trait.rs
diff --git a/src/test/rustdoc/attribute-rendering.rs b/tests/rustdoc/attribute-rendering.rs
index 36e10923c..36e10923c 100644
--- a/src/test/rustdoc/attribute-rendering.rs
+++ b/tests/rustdoc/attribute-rendering.rs
diff --git a/tests/rustdoc/attributes.rs b/tests/rustdoc/attributes.rs
new file mode 100644
index 000000000..70e2e5c29
--- /dev/null
+++ b/tests/rustdoc/attributes.rs
@@ -0,0 +1,13 @@
+#![crate_name = "foo"]
+
+// @has foo/fn.f.html '//div[@class="item-decl"]/pre[@class="rust"]' '#[no_mangle]'
+#[no_mangle]
+pub extern "C" fn f() {}
+
+// @has foo/fn.g.html '//div[@class="item-decl"]/pre[@class="rust"]' '#[export_name = "bar"]'
+#[export_name = "bar"]
+pub extern "C" fn g() {}
+
+// @has foo/struct.Repr.html '//div[@class="item-decl"]' '#[repr(C, align(8))]'
+#[repr(C, align(8))]
+pub struct Repr;
diff --git a/src/test/rustdoc/auto-impl-for-trait.rs b/tests/rustdoc/auto-impl-for-trait.rs
index bc658fbfc..bc658fbfc 100644
--- a/src/test/rustdoc/auto-impl-for-trait.rs
+++ b/tests/rustdoc/auto-impl-for-trait.rs
diff --git a/src/test/rustdoc/auto-impl-primitive.rs b/tests/rustdoc/auto-impl-primitive.rs
index 172333d44..172333d44 100644
--- a/src/test/rustdoc/auto-impl-primitive.rs
+++ b/tests/rustdoc/auto-impl-primitive.rs
diff --git a/src/test/rustdoc/auto-trait-not-send.rs b/tests/rustdoc/auto-trait-not-send.rs
index 661d905ab..661d905ab 100644
--- a/src/test/rustdoc/auto-trait-not-send.rs
+++ b/tests/rustdoc/auto-trait-not-send.rs
diff --git a/src/test/rustdoc/auto-traits.rs b/tests/rustdoc/auto-traits.rs
index 93d4bf2f6..93d4bf2f6 100644
--- a/src/test/rustdoc/auto-traits.rs
+++ b/tests/rustdoc/auto-traits.rs
diff --git a/src/test/rustdoc/auto_aliases.rs b/tests/rustdoc/auto_aliases.rs
index a047c76b6..a047c76b6 100644
--- a/src/test/rustdoc/auto_aliases.rs
+++ b/tests/rustdoc/auto_aliases.rs
diff --git a/src/test/rustdoc/auxiliary/all-item-types.rs b/tests/rustdoc/auxiliary/all-item-types.rs
index f94bd9987..f94bd9987 100644
--- a/src/test/rustdoc/auxiliary/all-item-types.rs
+++ b/tests/rustdoc/auxiliary/all-item-types.rs
diff --git a/src/test/rustdoc/auxiliary/async-trait-dep.rs b/tests/rustdoc/auxiliary/async-trait-dep.rs
index 10a55dd02..10a55dd02 100644
--- a/src/test/rustdoc/auxiliary/async-trait-dep.rs
+++ b/tests/rustdoc/auxiliary/async-trait-dep.rs
diff --git a/src/test/rustdoc/auxiliary/auto-traits.rs b/tests/rustdoc/auxiliary/auto-traits.rs
index 84976c73b..84976c73b 100644
--- a/src/test/rustdoc/auxiliary/auto-traits.rs
+++ b/tests/rustdoc/auxiliary/auto-traits.rs
diff --git a/src/test/rustdoc/auxiliary/cross-crate-hidden-assoc-trait-items.rs b/tests/rustdoc/auxiliary/cross-crate-hidden-assoc-trait-items.rs
index 3baf8a6c0..3baf8a6c0 100644
--- a/src/test/rustdoc/auxiliary/cross-crate-hidden-assoc-trait-items.rs
+++ b/tests/rustdoc/auxiliary/cross-crate-hidden-assoc-trait-items.rs
diff --git a/src/test/rustdoc/auxiliary/cross-crate-hidden-impl-parameter.rs b/tests/rustdoc/auxiliary/cross-crate-hidden-impl-parameter.rs
index 159531222..159531222 100644
--- a/src/test/rustdoc/auxiliary/cross-crate-hidden-impl-parameter.rs
+++ b/tests/rustdoc/auxiliary/cross-crate-hidden-impl-parameter.rs
diff --git a/src/test/rustdoc/auxiliary/elided-lifetime.rs b/tests/rustdoc/auxiliary/elided-lifetime.rs
index 4f2c93379..4f2c93379 100644
--- a/src/test/rustdoc/auxiliary/elided-lifetime.rs
+++ b/tests/rustdoc/auxiliary/elided-lifetime.rs
diff --git a/src/test/rustdoc/auxiliary/empty.rs b/tests/rustdoc/auxiliary/empty.rs
index d11c69f81..d11c69f81 100644
--- a/src/test/rustdoc/auxiliary/empty.rs
+++ b/tests/rustdoc/auxiliary/empty.rs
diff --git a/src/test/rustdoc/auxiliary/enum-primitive.rs b/tests/rustdoc/auxiliary/enum-primitive.rs
index ed1da253a..ed1da253a 100644
--- a/src/test/rustdoc/auxiliary/enum-primitive.rs
+++ b/tests/rustdoc/auxiliary/enum-primitive.rs
diff --git a/src/test/rustdoc/auxiliary/extern-impl-trait.rs b/tests/rustdoc/auxiliary/extern-impl-trait.rs
index dbd543930..dbd543930 100644
--- a/src/test/rustdoc/auxiliary/extern-impl-trait.rs
+++ b/tests/rustdoc/auxiliary/extern-impl-trait.rs
diff --git a/src/test/rustdoc/auxiliary/extern-links.rs b/tests/rustdoc/auxiliary/extern-links.rs
index 4a835673a..4a835673a 100644
--- a/src/test/rustdoc/auxiliary/extern-links.rs
+++ b/tests/rustdoc/auxiliary/extern-links.rs
diff --git a/src/test/rustdoc/auxiliary/external-cross-doc.md b/tests/rustdoc/auxiliary/external-cross-doc.md
index d3c853265..d3c853265 100644
--- a/src/test/rustdoc/auxiliary/external-cross-doc.md
+++ b/tests/rustdoc/auxiliary/external-cross-doc.md
diff --git a/src/test/rustdoc/auxiliary/external-cross.rs b/tests/rustdoc/auxiliary/external-cross.rs
index 5de63cdab..5de63cdab 100644
--- a/src/test/rustdoc/auxiliary/external-cross.rs
+++ b/tests/rustdoc/auxiliary/external-cross.rs
diff --git a/src/test/rustdoc/auxiliary/external-doc.md b/tests/rustdoc/auxiliary/external-doc.md
index babde0a05..babde0a05 100644
--- a/src/test/rustdoc/auxiliary/external-doc.md
+++ b/tests/rustdoc/auxiliary/external-doc.md
diff --git a/src/test/rustdoc/auxiliary/external-macro-src.rs b/tests/rustdoc/auxiliary/external-macro-src.rs
index ce20ca5c9..ce20ca5c9 100644
--- a/src/test/rustdoc/auxiliary/external-macro-src.rs
+++ b/tests/rustdoc/auxiliary/external-macro-src.rs
diff --git a/src/test/rustdoc/auxiliary/html_root.rs b/tests/rustdoc/auxiliary/html_root.rs
index 4eb0b700f..4eb0b700f 100644
--- a/src/test/rustdoc/auxiliary/html_root.rs
+++ b/tests/rustdoc/auxiliary/html_root.rs
diff --git a/src/test/rustdoc/auxiliary/incoherent-impl-types.rs b/tests/rustdoc/auxiliary/incoherent-impl-types.rs
index fc51e42e5..fc51e42e5 100644
--- a/src/test/rustdoc/auxiliary/incoherent-impl-types.rs
+++ b/tests/rustdoc/auxiliary/incoherent-impl-types.rs
diff --git a/src/test/rustdoc/auxiliary/inline-default-methods.rs b/tests/rustdoc/auxiliary/inline-default-methods.rs
index 8a636f449..8a636f449 100644
--- a/src/test/rustdoc/auxiliary/inline-default-methods.rs
+++ b/tests/rustdoc/auxiliary/inline-default-methods.rs
diff --git a/src/test/rustdoc/auxiliary/issue-100204-aux.rs b/tests/rustdoc/auxiliary/issue-100204-aux.rs
index df1b59069..df1b59069 100644
--- a/src/test/rustdoc/auxiliary/issue-100204-aux.rs
+++ b/tests/rustdoc/auxiliary/issue-100204-aux.rs
diff --git a/src/test/rustdoc/auxiliary/issue-13698.rs b/tests/rustdoc/auxiliary/issue-13698.rs
index a65ebfe36..a65ebfe36 100644
--- a/src/test/rustdoc/auxiliary/issue-13698.rs
+++ b/tests/rustdoc/auxiliary/issue-13698.rs
diff --git a/src/test/rustdoc/auxiliary/issue-15318.rs b/tests/rustdoc/auxiliary/issue-15318.rs
index 695fa58ef..695fa58ef 100644
--- a/src/test/rustdoc/auxiliary/issue-15318.rs
+++ b/tests/rustdoc/auxiliary/issue-15318.rs
diff --git a/src/test/rustdoc/auxiliary/issue-17476.rs b/tests/rustdoc/auxiliary/issue-17476.rs
index 80c915eb7..80c915eb7 100644
--- a/src/test/rustdoc/auxiliary/issue-17476.rs
+++ b/tests/rustdoc/auxiliary/issue-17476.rs
diff --git a/src/test/rustdoc/auxiliary/issue-19190-3.rs b/tests/rustdoc/auxiliary/issue-19190-3.rs
index 8c526a89a..8c526a89a 100644
--- a/src/test/rustdoc/auxiliary/issue-19190-3.rs
+++ b/tests/rustdoc/auxiliary/issue-19190-3.rs
diff --git a/src/test/rustdoc/auxiliary/issue-20646.rs b/tests/rustdoc/auxiliary/issue-20646.rs
index 8e16f2de0..8e16f2de0 100644
--- a/src/test/rustdoc/auxiliary/issue-20646.rs
+++ b/tests/rustdoc/auxiliary/issue-20646.rs
diff --git a/src/test/rustdoc/auxiliary/issue-20727.rs b/tests/rustdoc/auxiliary/issue-20727.rs
index 7ffc1985b..7ffc1985b 100644
--- a/src/test/rustdoc/auxiliary/issue-20727.rs
+++ b/tests/rustdoc/auxiliary/issue-20727.rs
diff --git a/src/test/rustdoc/auxiliary/issue-21092.rs b/tests/rustdoc/auxiliary/issue-21092.rs
index 51ab7de1c..51ab7de1c 100644
--- a/src/test/rustdoc/auxiliary/issue-21092.rs
+++ b/tests/rustdoc/auxiliary/issue-21092.rs
diff --git a/src/test/rustdoc/auxiliary/issue-21801.rs b/tests/rustdoc/auxiliary/issue-21801.rs
index 732612ff0..732612ff0 100644
--- a/src/test/rustdoc/auxiliary/issue-21801.rs
+++ b/tests/rustdoc/auxiliary/issue-21801.rs
diff --git a/src/test/rustdoc/auxiliary/issue-22025.rs b/tests/rustdoc/auxiliary/issue-22025.rs
index 5346c0e92..5346c0e92 100644
--- a/src/test/rustdoc/auxiliary/issue-22025.rs
+++ b/tests/rustdoc/auxiliary/issue-22025.rs
diff --git a/src/test/rustdoc/auxiliary/issue-23207-1.rs b/tests/rustdoc/auxiliary/issue-23207-1.rs
index 8531d5f1a..8531d5f1a 100644
--- a/src/test/rustdoc/auxiliary/issue-23207-1.rs
+++ b/tests/rustdoc/auxiliary/issue-23207-1.rs
diff --git a/src/test/rustdoc/auxiliary/issue-23207-2.rs b/tests/rustdoc/auxiliary/issue-23207-2.rs
index b92b16653..b92b16653 100644
--- a/src/test/rustdoc/auxiliary/issue-23207-2.rs
+++ b/tests/rustdoc/auxiliary/issue-23207-2.rs
diff --git a/src/test/rustdoc/auxiliary/issue-26606-macro.rs b/tests/rustdoc/auxiliary/issue-26606-macro.rs
index d60d32526..d60d32526 100644
--- a/src/test/rustdoc/auxiliary/issue-26606-macro.rs
+++ b/tests/rustdoc/auxiliary/issue-26606-macro.rs
diff --git a/src/test/rustdoc/auxiliary/issue-27362-aux.rs b/tests/rustdoc/auxiliary/issue-27362-aux.rs
index 077bdc33e..077bdc33e 100644
--- a/src/test/rustdoc/auxiliary/issue-27362-aux.rs
+++ b/tests/rustdoc/auxiliary/issue-27362-aux.rs
diff --git a/src/test/rustdoc/auxiliary/issue-28927-1.rs b/tests/rustdoc/auxiliary/issue-28927-1.rs
index 688c73428..688c73428 100644
--- a/src/test/rustdoc/auxiliary/issue-28927-1.rs
+++ b/tests/rustdoc/auxiliary/issue-28927-1.rs
diff --git a/src/test/rustdoc/auxiliary/issue-28927-2.rs b/tests/rustdoc/auxiliary/issue-28927-2.rs
index 7c0937fce..7c0937fce 100644
--- a/src/test/rustdoc/auxiliary/issue-28927-2.rs
+++ b/tests/rustdoc/auxiliary/issue-28927-2.rs
diff --git a/src/test/rustdoc/auxiliary/issue-29584.rs b/tests/rustdoc/auxiliary/issue-29584.rs
index a9b8796c0..a9b8796c0 100644
--- a/src/test/rustdoc/auxiliary/issue-29584.rs
+++ b/tests/rustdoc/auxiliary/issue-29584.rs
diff --git a/src/test/rustdoc/auxiliary/issue-30109-1.rs b/tests/rustdoc/auxiliary/issue-30109-1.rs
index ca05a6a90..ca05a6a90 100644
--- a/src/test/rustdoc/auxiliary/issue-30109-1.rs
+++ b/tests/rustdoc/auxiliary/issue-30109-1.rs
diff --git a/src/test/rustdoc/auxiliary/issue-34274.rs b/tests/rustdoc/auxiliary/issue-34274.rs
index c46660579..c46660579 100644
--- a/src/test/rustdoc/auxiliary/issue-34274.rs
+++ b/tests/rustdoc/auxiliary/issue-34274.rs
diff --git a/src/test/rustdoc/auxiliary/issue-36031.rs b/tests/rustdoc/auxiliary/issue-36031.rs
index da688139e..da688139e 100644
--- a/src/test/rustdoc/auxiliary/issue-36031.rs
+++ b/tests/rustdoc/auxiliary/issue-36031.rs
diff --git a/src/test/rustdoc/auxiliary/issue-40936.rs b/tests/rustdoc/auxiliary/issue-40936.rs
index b921e5201..b921e5201 100644
--- a/src/test/rustdoc/auxiliary/issue-40936.rs
+++ b/tests/rustdoc/auxiliary/issue-40936.rs
diff --git a/src/test/rustdoc/auxiliary/issue-46727.rs b/tests/rustdoc/auxiliary/issue-46727.rs
index 30dccfa77..30dccfa77 100644
--- a/src/test/rustdoc/auxiliary/issue-46727.rs
+++ b/tests/rustdoc/auxiliary/issue-46727.rs
diff --git a/src/test/rustdoc/auxiliary/issue-48414.rs b/tests/rustdoc/auxiliary/issue-48414.rs
index f442ac722..f442ac722 100644
--- a/src/test/rustdoc/auxiliary/issue-48414.rs
+++ b/tests/rustdoc/auxiliary/issue-48414.rs
diff --git a/src/test/rustdoc/auxiliary/issue-53689.rs b/tests/rustdoc/auxiliary/issue-53689.rs
index 5003c2c00..5003c2c00 100644
--- a/src/test/rustdoc/auxiliary/issue-53689.rs
+++ b/tests/rustdoc/auxiliary/issue-53689.rs
diff --git a/src/test/rustdoc/auxiliary/issue-57180.rs b/tests/rustdoc/auxiliary/issue-57180.rs
index 4e2f4b87c..4e2f4b87c 100644
--- a/src/test/rustdoc/auxiliary/issue-57180.rs
+++ b/tests/rustdoc/auxiliary/issue-57180.rs
diff --git a/src/test/rustdoc/auxiliary/issue-61592.rs b/tests/rustdoc/auxiliary/issue-61592.rs
index 6e16a4caf..6e16a4caf 100644
--- a/src/test/rustdoc/auxiliary/issue-61592.rs
+++ b/tests/rustdoc/auxiliary/issue-61592.rs
diff --git a/src/test/rustdoc/auxiliary/issue-73061.rs b/tests/rustdoc/auxiliary/issue-73061.rs
index e05a3bc6d..e05a3bc6d 100644
--- a/src/test/rustdoc/auxiliary/issue-73061.rs
+++ b/tests/rustdoc/auxiliary/issue-73061.rs
diff --git a/tests/rustdoc/auxiliary/issue-85454.rs b/tests/rustdoc/auxiliary/issue-85454.rs
new file mode 100644
index 000000000..5143968bb
--- /dev/null
+++ b/tests/rustdoc/auxiliary/issue-85454.rs
@@ -0,0 +1,17 @@
+// @has issue_85454/trait.FromResidual.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub trait FromResidual<R = <Self as Try>::Residual> { fn from_residual(residual: R) -> Self; }'
+pub trait FromResidual<R = <Self as Try>::Residual> {
+ fn from_residual(residual: R) -> Self;
+}
+
+pub trait Try: FromResidual {
+ type Output;
+ type Residual;
+ fn from_output(output: Self::Output) -> Self;
+ fn branch(self) -> ControlFlow<Self::Residual, Self::Output>;
+}
+
+pub enum ControlFlow<B, C = ()> {
+ Continue(C),
+ Break(B),
+}
diff --git a/src/test/rustdoc/auxiliary/issue-86620-1.rs b/tests/rustdoc/auxiliary/issue-86620-1.rs
index f6debf6fb..f6debf6fb 100644
--- a/src/test/rustdoc/auxiliary/issue-86620-1.rs
+++ b/tests/rustdoc/auxiliary/issue-86620-1.rs
diff --git a/src/test/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs b/tests/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs
index 4e55e7ed5..4e55e7ed5 100644
--- a/src/test/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs
+++ b/tests/rustdoc/auxiliary/issue-98697-reexport-with-anonymous-lifetime.rs
diff --git a/src/test/rustdoc/auxiliary/issue-99221-aux.rs b/tests/rustdoc/auxiliary/issue-99221-aux.rs
index e061e42b2..e061e42b2 100644
--- a/src/test/rustdoc/auxiliary/issue-99221-aux.rs
+++ b/tests/rustdoc/auxiliary/issue-99221-aux.rs
diff --git a/src/test/rustdoc/auxiliary/issue-99734-aux.rs b/tests/rustdoc/auxiliary/issue-99734-aux.rs
index 234d55efb..234d55efb 100644
--- a/src/test/rustdoc/auxiliary/issue-99734-aux.rs
+++ b/tests/rustdoc/auxiliary/issue-99734-aux.rs
diff --git a/src/test/rustdoc/auxiliary/macro_pub_in_module.rs b/tests/rustdoc/auxiliary/macro_pub_in_module.rs
index 137b12386..137b12386 100644
--- a/src/test/rustdoc/auxiliary/macro_pub_in_module.rs
+++ b/tests/rustdoc/auxiliary/macro_pub_in_module.rs
diff --git a/src/test/rustdoc/auxiliary/masked.rs b/tests/rustdoc/auxiliary/masked.rs
index 3d722d5e0..3d722d5e0 100644
--- a/src/test/rustdoc/auxiliary/masked.rs
+++ b/tests/rustdoc/auxiliary/masked.rs
diff --git a/src/test/rustdoc/auxiliary/mod-stackoverflow.rs b/tests/rustdoc/auxiliary/mod-stackoverflow.rs
index e0b90f180..e0b90f180 100644
--- a/src/test/rustdoc/auxiliary/mod-stackoverflow.rs
+++ b/tests/rustdoc/auxiliary/mod-stackoverflow.rs
diff --git a/src/test/ui/extern/auxiliary/m2.rs b/tests/rustdoc/auxiliary/no_html_root.rs
index c5c0bc606..c5c0bc606 100644
--- a/src/test/ui/extern/auxiliary/m2.rs
+++ b/tests/rustdoc/auxiliary/no_html_root.rs
diff --git a/src/test/rustdoc/auxiliary/normalize-assoc-item.rs b/tests/rustdoc/auxiliary/normalize-assoc-item.rs
index fbd111c30..fbd111c30 100644
--- a/src/test/rustdoc/auxiliary/normalize-assoc-item.rs
+++ b/tests/rustdoc/auxiliary/normalize-assoc-item.rs
diff --git a/src/test/rustdoc/auxiliary/primitive-doc.rs b/tests/rustdoc/auxiliary/primitive-doc.rs
index e8da852a5..e8da852a5 100644
--- a/src/test/rustdoc/auxiliary/primitive-doc.rs
+++ b/tests/rustdoc/auxiliary/primitive-doc.rs
diff --git a/src/test/rustdoc/auxiliary/primitive-reexport.rs b/tests/rustdoc/auxiliary/primitive-reexport.rs
index b2e9fa43b..b2e9fa43b 100644
--- a/src/test/rustdoc/auxiliary/primitive-reexport.rs
+++ b/tests/rustdoc/auxiliary/primitive-reexport.rs
diff --git a/src/test/rustdoc/auxiliary/pub-extern-crate.rs b/tests/rustdoc/auxiliary/pub-extern-crate.rs
index 8c89c8d6c..8c89c8d6c 100644
--- a/src/test/rustdoc/auxiliary/pub-extern-crate.rs
+++ b/tests/rustdoc/auxiliary/pub-extern-crate.rs
diff --git a/src/test/rustdoc/auxiliary/pub-use-extern-macros.rs b/tests/rustdoc/auxiliary/pub-use-extern-macros.rs
index 7934e0733..7934e0733 100644
--- a/src/test/rustdoc/auxiliary/pub-use-extern-macros.rs
+++ b/tests/rustdoc/auxiliary/pub-use-extern-macros.rs
diff --git a/src/test/rustdoc/auxiliary/real_gimli.rs b/tests/rustdoc/auxiliary/real_gimli.rs
index 80d5c4ba8..80d5c4ba8 100644
--- a/src/test/rustdoc/auxiliary/real_gimli.rs
+++ b/tests/rustdoc/auxiliary/real_gimli.rs
diff --git a/src/test/rustdoc/auxiliary/realcore.rs b/tests/rustdoc/auxiliary/realcore.rs
index e0a906df0..e0a906df0 100644
--- a/src/test/rustdoc/auxiliary/realcore.rs
+++ b/tests/rustdoc/auxiliary/realcore.rs
diff --git a/src/test/rustdoc/auxiliary/reexp-stripped.rs b/tests/rustdoc/auxiliary/reexp-stripped.rs
index ccc3dc11f..ccc3dc11f 100644
--- a/src/test/rustdoc/auxiliary/reexp-stripped.rs
+++ b/tests/rustdoc/auxiliary/reexp-stripped.rs
diff --git a/src/test/rustdoc/auxiliary/reexport-check.rs b/tests/rustdoc/auxiliary/reexport-check.rs
index 672ccb1cf..672ccb1cf 100644
--- a/src/test/rustdoc/auxiliary/reexport-check.rs
+++ b/tests/rustdoc/auxiliary/reexport-check.rs
diff --git a/src/test/rustdoc/auxiliary/reexport-doc-aux.rs b/tests/rustdoc/auxiliary/reexport-doc-aux.rs
index 3400717eb..3400717eb 100644
--- a/src/test/rustdoc/auxiliary/reexport-doc-aux.rs
+++ b/tests/rustdoc/auxiliary/reexport-doc-aux.rs
diff --git a/src/test/rustdoc/auxiliary/reexports.rs b/tests/rustdoc/auxiliary/reexports.rs
index 4336993a3..4336993a3 100644
--- a/src/test/rustdoc/auxiliary/reexports.rs
+++ b/tests/rustdoc/auxiliary/reexports.rs
diff --git a/src/test/rustdoc/auxiliary/rustdoc-default-impl.rs b/tests/rustdoc/auxiliary/rustdoc-default-impl.rs
index 032db3b25..032db3b25 100644
--- a/src/test/rustdoc/auxiliary/rustdoc-default-impl.rs
+++ b/tests/rustdoc/auxiliary/rustdoc-default-impl.rs
diff --git a/src/test/rustdoc/auxiliary/rustdoc-extern-default-method.rs b/tests/rustdoc/auxiliary/rustdoc-extern-default-method.rs
index 12934238a..12934238a 100644
--- a/src/test/rustdoc/auxiliary/rustdoc-extern-default-method.rs
+++ b/tests/rustdoc/auxiliary/rustdoc-extern-default-method.rs
diff --git a/src/test/rustdoc/auxiliary/rustdoc-extern-method.rs b/tests/rustdoc/auxiliary/rustdoc-extern-method.rs
index e493048d9..e493048d9 100644
--- a/src/test/rustdoc/auxiliary/rustdoc-extern-method.rs
+++ b/tests/rustdoc/auxiliary/rustdoc-extern-method.rs
diff --git a/src/test/rustdoc/auxiliary/rustdoc-ffi.rs b/tests/rustdoc/auxiliary/rustdoc-ffi.rs
index b74d190b5..b74d190b5 100644
--- a/src/test/rustdoc/auxiliary/rustdoc-ffi.rs
+++ b/tests/rustdoc/auxiliary/rustdoc-ffi.rs
diff --git a/src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs b/tests/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs
index 135987fc0..135987fc0 100644
--- a/src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs
+++ b/tests/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs
diff --git a/src/test/rustdoc/auxiliary/source-code-bar.rs b/tests/rustdoc/auxiliary/source-code-bar.rs
index 8700d688e..8700d688e 100644
--- a/src/test/rustdoc/auxiliary/source-code-bar.rs
+++ b/tests/rustdoc/auxiliary/source-code-bar.rs
diff --git a/src/test/rustdoc/auxiliary/source_code.rs b/tests/rustdoc/auxiliary/source_code.rs
index 72a5c1a0a..72a5c1a0a 100644
--- a/src/test/rustdoc/auxiliary/source_code.rs
+++ b/tests/rustdoc/auxiliary/source_code.rs
diff --git a/src/test/rustdoc/auxiliary/src-links-external.rs b/tests/rustdoc/auxiliary/src-links-external.rs
index 4a835673a..4a835673a 100644
--- a/src/test/rustdoc/auxiliary/src-links-external.rs
+++ b/tests/rustdoc/auxiliary/src-links-external.rs
diff --git a/src/test/rustdoc/auxiliary/trait-alias-mention.rs b/tests/rustdoc/auxiliary/trait-alias-mention.rs
index 6df06c87a..6df06c87a 100644
--- a/src/test/rustdoc/auxiliary/trait-alias-mention.rs
+++ b/tests/rustdoc/auxiliary/trait-alias-mention.rs
diff --git a/src/test/rustdoc/auxiliary/trait-visibility.rs b/tests/rustdoc/auxiliary/trait-visibility.rs
index 1e8d0b8e0..1e8d0b8e0 100644
--- a/src/test/rustdoc/auxiliary/trait-visibility.rs
+++ b/tests/rustdoc/auxiliary/trait-visibility.rs
diff --git a/src/test/rustdoc/auxiliary/unit-return.rs b/tests/rustdoc/auxiliary/unit-return.rs
index 7b9986162..7b9986162 100644
--- a/src/test/rustdoc/auxiliary/unit-return.rs
+++ b/tests/rustdoc/auxiliary/unit-return.rs
diff --git a/src/test/rustdoc/auxiliary/unstable-trait.rs b/tests/rustdoc/auxiliary/unstable-trait.rs
index 6f06a6e26..6f06a6e26 100644
--- a/src/test/rustdoc/auxiliary/unstable-trait.rs
+++ b/tests/rustdoc/auxiliary/unstable-trait.rs
diff --git a/src/test/rustdoc/auxiliary/variant-struct.rs b/tests/rustdoc/auxiliary/variant-struct.rs
index 0f3d2e5f1..0f3d2e5f1 100644
--- a/src/test/rustdoc/auxiliary/variant-struct.rs
+++ b/tests/rustdoc/auxiliary/variant-struct.rs
diff --git a/src/test/rustdoc/bad-codeblock-syntax.rs b/tests/rustdoc/bad-codeblock-syntax.rs
index 9ec089fd7..9ec089fd7 100644
--- a/src/test/rustdoc/bad-codeblock-syntax.rs
+++ b/tests/rustdoc/bad-codeblock-syntax.rs
diff --git a/src/test/rustdoc/blanket-reexport-item.rs b/tests/rustdoc/blanket-reexport-item.rs
index 437f0001f..437f0001f 100644
--- a/src/test/rustdoc/blanket-reexport-item.rs
+++ b/tests/rustdoc/blanket-reexport-item.rs
diff --git a/src/test/rustdoc/bounds-in-multiple-parts.rs b/tests/rustdoc/bounds-in-multiple-parts.rs
index 279e3c148..279e3c148 100644
--- a/src/test/rustdoc/bounds-in-multiple-parts.rs
+++ b/tests/rustdoc/bounds-in-multiple-parts.rs
diff --git a/src/test/rustdoc/cap-lints.rs b/tests/rustdoc/cap-lints.rs
index 08a353396..08a353396 100644
--- a/src/test/rustdoc/cap-lints.rs
+++ b/tests/rustdoc/cap-lints.rs
diff --git a/src/test/rustdoc/cfg-doctest.rs b/tests/rustdoc/cfg-doctest.rs
index 6a9d26a4b..6a9d26a4b 100644
--- a/src/test/rustdoc/cfg-doctest.rs
+++ b/tests/rustdoc/cfg-doctest.rs
diff --git a/src/test/rustdoc/cfg_doc_reexport.rs b/tests/rustdoc/cfg_doc_reexport.rs
index addb6709d..addb6709d 100644
--- a/src/test/rustdoc/cfg_doc_reexport.rs
+++ b/tests/rustdoc/cfg_doc_reexport.rs
diff --git a/src/test/rustdoc/check-source-code-urls-to-def-std.rs b/tests/rustdoc/check-source-code-urls-to-def-std.rs
index e12d8445f..e12d8445f 100644
--- a/src/test/rustdoc/check-source-code-urls-to-def-std.rs
+++ b/tests/rustdoc/check-source-code-urls-to-def-std.rs
diff --git a/src/test/rustdoc/check-source-code-urls-to-def.rs b/tests/rustdoc/check-source-code-urls-to-def.rs
index 5959f9c7c..5959f9c7c 100644
--- a/src/test/rustdoc/check-source-code-urls-to-def.rs
+++ b/tests/rustdoc/check-source-code-urls-to-def.rs
diff --git a/src/test/rustdoc/check-styled-link.rs b/tests/rustdoc/check-styled-link.rs
index ed4a5ea21..ed4a5ea21 100644
--- a/src/test/rustdoc/check-styled-link.rs
+++ b/tests/rustdoc/check-styled-link.rs
diff --git a/src/test/rustdoc/check.rs b/tests/rustdoc/check.rs
index 1fb4b35dd..1fb4b35dd 100644
--- a/src/test/rustdoc/check.rs
+++ b/tests/rustdoc/check.rs
diff --git a/src/test/rustdoc/codeblock-title.rs b/tests/rustdoc/codeblock-title.rs
index b9b0b0d1a..b9b0b0d1a 100644
--- a/src/test/rustdoc/codeblock-title.rs
+++ b/tests/rustdoc/codeblock-title.rs
diff --git a/src/test/rustdoc/comment-in-doctest.rs b/tests/rustdoc/comment-in-doctest.rs
index 5691d1735..5691d1735 100644
--- a/src/test/rustdoc/comment-in-doctest.rs
+++ b/tests/rustdoc/comment-in-doctest.rs
diff --git a/src/test/rustdoc/const-display.rs b/tests/rustdoc/const-display.rs
index 594501b22..594501b22 100644
--- a/src/test/rustdoc/const-display.rs
+++ b/tests/rustdoc/const-display.rs
diff --git a/src/test/rustdoc/const-doc.rs b/tests/rustdoc/const-doc.rs
index 74ab4af61..74ab4af61 100644
--- a/src/test/rustdoc/const-doc.rs
+++ b/tests/rustdoc/const-doc.rs
diff --git a/src/test/rustdoc/const-fn.rs b/tests/rustdoc/const-fn.rs
index 28eba849a..4366ad4d0 100644
--- a/src/test/rustdoc/const-fn.rs
+++ b/tests/rustdoc/const-fn.rs
@@ -1,7 +1,7 @@
#![crate_name = "foo"]
// @has foo/fn.bar.html
-// @has - '//*[@class="rust fn"]' 'pub const fn bar() -> '
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub const fn bar() -> '
/// foo
pub const fn bar() -> usize {
2
diff --git a/src/test/rustdoc/const-generics/add-impl.rs b/tests/rustdoc/const-generics/add-impl.rs
index 6cbae9abe..b5226ad3f 100644
--- a/src/test/rustdoc/const-generics/add-impl.rs
+++ b/tests/rustdoc/const-generics/add-impl.rs
@@ -2,7 +2,7 @@
use std::ops::Add;
-// @has foo/struct.Simd.html '//pre[@class="rust struct"]' 'pub struct Simd<T, const WIDTH: usize>'
+// @has foo/struct.Simd.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub struct Simd<T, const WIDTH: usize>'
pub struct Simd<T, const WIDTH: usize> {
inner: T,
}
diff --git a/src/test/rustdoc/const-generics/auxiliary/extern_crate.rs b/tests/rustdoc/const-generics/auxiliary/extern_crate.rs
index 55b632a48..55b632a48 100644
--- a/src/test/rustdoc/const-generics/auxiliary/extern_crate.rs
+++ b/tests/rustdoc/const-generics/auxiliary/extern_crate.rs
diff --git a/tests/rustdoc/const-generics/const-generic-defaults.rs b/tests/rustdoc/const-generics/const-generic-defaults.rs
new file mode 100644
index 000000000..acc3b853e
--- /dev/null
+++ b/tests/rustdoc/const-generics/const-generic-defaults.rs
@@ -0,0 +1,5 @@
+#![crate_name = "foo"]
+
+// @has foo/struct.Foo.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub struct Foo<const M: usize = 10, const N: usize = M, T = i32>(_);'
+pub struct Foo<const M: usize = 10, const N: usize = M, T = i32>(T);
diff --git a/src/test/rustdoc/const-generics/const-generic-slice.rs b/tests/rustdoc/const-generics/const-generic-slice.rs
index 4279de91f..4279de91f 100644
--- a/src/test/rustdoc/const-generics/const-generic-slice.rs
+++ b/tests/rustdoc/const-generics/const-generic-slice.rs
diff --git a/tests/rustdoc/const-generics/const-generics-docs.rs b/tests/rustdoc/const-generics/const-generics-docs.rs
new file mode 100644
index 000000000..543332d2c
--- /dev/null
+++ b/tests/rustdoc/const-generics/const-generics-docs.rs
@@ -0,0 +1,128 @@
+// edition:2018
+// aux-build: extern_crate.rs
+#![crate_name = "foo"]
+
+extern crate extern_crate;
+// @has foo/fn.extern_fn.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub fn extern_fn<const N: usize>() -> impl Iterator<Item = [u8; N]>'
+pub use extern_crate::extern_fn;
+// @has foo/struct.ExternTy.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub struct ExternTy<const N: usize> {'
+pub use extern_crate::ExternTy;
+// @has foo/type.TyAlias.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'type TyAlias<const N: usize> = ExternTy<N>;'
+pub use extern_crate::TyAlias;
+// @has foo/trait.WTrait.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub trait WTrait<const N: usize, const M: usize>'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'fn hey<const P: usize>() -> usize'
+pub use extern_crate::WTrait;
+
+// @has foo/trait.Trait.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub trait Trait<const N: usize>'
+// @has - '//*[@id="impl-Trait%3C1%3E-for-u8"]//h3[@class="code-header"]' 'impl Trait<1> for u8'
+// @has - '//*[@id="impl-Trait%3C2%3E-for-u8"]//h3[@class="code-header"]' 'impl Trait<2> for u8'
+// @has - '//*[@id="impl-Trait%3C{1%20+%202}%3E-for-u8"]//h3[@class="code-header"]' 'impl Trait<{1 + 2}> for u8'
+// @has - '//*[@id="impl-Trait%3CN%3E-for-%5Bu8%3B%20N%5D"]//h3[@class="code-header"]' \
+// 'impl<const N: usize> Trait<N> for [u8; N]'
+pub trait Trait<const N: usize> {}
+impl Trait<1> for u8 {}
+impl Trait<2> for u8 {}
+impl Trait<{1 + 2}> for u8 {}
+impl<const N: usize> Trait<N> for [u8; N] {}
+
+// @has foo/struct.Foo.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub struct Foo<const N: usize>where u8: Trait<N>'
+pub struct Foo<const N: usize> where u8: Trait<N>;
+// @has foo/struct.Bar.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub struct Bar<T, const N: usize>(_)'
+pub struct Bar<T, const N: usize>([T; N]);
+
+// @has foo/struct.Foo.html '//*[@id="impl-Foo%3CM%3E"]/h3[@class="code-header"]' 'impl<const M: usize> Foo<M>where u8: Trait<M>'
+impl<const M: usize> Foo<M> where u8: Trait<M> {
+ // @has - '//*[@id="associatedconstant.FOO_ASSOC"]' 'pub const FOO_ASSOC: usize'
+ pub const FOO_ASSOC: usize = M + 13;
+
+ // @has - '//*[@id="method.hey"]' 'pub fn hey<const N: usize>(&self) -> Bar<u8, N>'
+ pub fn hey<const N: usize>(&self) -> Bar<u8, N> {
+ Bar([0; N])
+ }
+}
+
+// @has foo/struct.Bar.html '//*[@id="impl-Bar%3Cu8%2C%20M%3E"]/h3[@class="code-header"]' 'impl<const M: usize> Bar<u8, M>'
+impl<const M: usize> Bar<u8, M> {
+ // @has - '//*[@id="method.hey"]' \
+ // 'pub fn hey<const N: usize>(&self) -> Foo<N>where u8: Trait<N>'
+ pub fn hey<const N: usize>(&self) -> Foo<N> where u8: Trait<N> {
+ Foo
+ }
+}
+
+// @has foo/fn.test.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub fn test<const N: usize>() -> impl Trait<N>where u8: Trait<N>'
+pub fn test<const N: usize>() -> impl Trait<N> where u8: Trait<N> {
+ 2u8
+}
+
+// @has foo/fn.a_sink.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub async fn a_sink<const N: usize>(v: [u8; N]) -> impl Trait<N>'
+pub async fn a_sink<const N: usize>(v: [u8; N]) -> impl Trait<N> {
+ v
+}
+
+// @has foo/fn.b_sink.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub async fn b_sink<const N: usize>(_: impl Trait<N>)'
+pub async fn b_sink<const N: usize>(_: impl Trait<N>) {}
+
+// @has foo/fn.concrete.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub fn concrete() -> [u8; 22]'
+pub fn concrete() -> [u8; 3 + std::mem::size_of::<u64>() << 1] {
+ Default::default()
+}
+
+// @has foo/type.Faz.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'type Faz<const N: usize> = [u8; N];'
+pub type Faz<const N: usize> = [u8; N];
+// @has foo/type.Fiz.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'type Fiz<const N: usize> = [[u8; N]; 48];'
+pub type Fiz<const N: usize> = [[u8; N]; 3 << 4];
+
+macro_rules! define_me {
+ ($t:tt<$q:tt>) => {
+ pub struct $t<const $q: usize>([u8; $q]);
+ }
+}
+
+// @has foo/struct.Foz.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub struct Foz<const N: usize>(_);'
+define_me!(Foz<N>);
+
+trait Q {
+ const ASSOC: usize;
+}
+
+impl<const N: usize> Q for [u8; N] {
+ const ASSOC: usize = N;
+}
+
+// @has foo/fn.q_user.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub fn q_user() -> [u8; 13]'
+pub fn q_user() -> [u8; <[u8; 13] as Q>::ASSOC] {
+ [0; <[u8; 13] as Q>::ASSOC]
+}
+
+// @has foo/union.Union.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub union Union<const N: usize>'
+pub union Union<const N: usize> {
+ // @has - //pre "pub arr: [u8; N]"
+ pub arr: [u8; N],
+ // @has - //pre "pub another_arr: [(); N]"
+ pub another_arr: [(); N],
+}
+
+// @has foo/enum.Enum.html '//div[@class="item-decl"]/pre[@class="rust"]' \
+// 'pub enum Enum<const N: usize>'
+pub enum Enum<const N: usize> {
+ // @has - //pre "Variant([u8; N])"
+ Variant([u8; N]),
+ // @has - //pre "EmptyVariant"
+ EmptyVariant,
+}
diff --git a/src/test/rustdoc/const-generics/const-impl.rs b/tests/rustdoc/const-generics/const-impl.rs
index 75ee84279..726fb8f0c 100644
--- a/src/test/rustdoc/const-generics/const-impl.rs
+++ b/tests/rustdoc/const-generics/const-impl.rs
@@ -8,7 +8,7 @@ pub enum Order {
Unsorted,
}
-// @has foo/struct.VSet.html '//pre[@class="rust struct"]' 'pub struct VSet<T, const ORDER: Order>'
+// @has foo/struct.VSet.html '//div[@class="item-decl"]/pre[@class="rust"]' 'pub struct VSet<T, const ORDER: Order>'
// @has foo/struct.VSet.html '//*[@id="impl-Send-for-VSet%3CT%2C%20ORDER%3E"]/h3[@class="code-header"]' 'impl<T, const ORDER: Order> Send for VSet<T, ORDER>'
// @has foo/struct.VSet.html '//*[@id="impl-Sync-for-VSet%3CT%2C%20ORDER%3E"]/h3[@class="code-header"]' 'impl<T, const ORDER: Order> Sync for VSet<T, ORDER>'
pub struct VSet<T, const ORDER: Order> {
diff --git a/src/test/rustdoc/const-generics/generic_const_exprs.rs b/tests/rustdoc/const-generics/generic_const_exprs.rs
index 215ee228e..c53cf6dcd 100644
--- a/src/test/rustdoc/const-generics/generic_const_exprs.rs
+++ b/tests/rustdoc/const-generics/generic_const_exprs.rs
@@ -2,6 +2,6 @@
#![feature(generic_const_exprs)]
#![allow(incomplete_features)]
// make sure that `ConstEvaluatable` predicates dont cause rustdoc to ICE #77647
-// @has foo/struct.Ice.html '//pre[@class="rust struct"]' \
+// @has foo/struct.Ice.html '//div[@class="item-decl"]/pre[@class="rust"]' \
// 'pub struct Ice<const N: usize>;'
pub struct Ice<const N: usize> where [(); N + 1]:;
diff --git a/src/test/rustdoc/const-generics/lazy_normalization_consts/const-equate-pred.rs b/tests/rustdoc/const-generics/lazy_normalization_consts/const-equate-pred.rs
index 310e89a35..310e89a35 100644
--- a/src/test/rustdoc/const-generics/lazy_normalization_consts/const-equate-pred.rs
+++ b/tests/rustdoc/const-generics/lazy_normalization_consts/const-equate-pred.rs
diff --git a/tests/rustdoc/const-generics/type-alias.rs b/tests/rustdoc/const-generics/type-alias.rs
new file mode 100644
index 000000000..72473a112
--- /dev/null
+++ b/tests/rustdoc/const-generics/type-alias.rs
@@ -0,0 +1,4 @@
+#![crate_name = "foo"]
+
+// @has foo/type.CellIndex.html '//div[@class="item-decl"]/pre[@class="rust"]' 'type CellIndex<const D: usize> = [i64; D];'
+pub type CellIndex<const D: usize> = [i64; D];
diff --git a/tests/rustdoc/const-intrinsic.rs b/tests/rustdoc/const-intrinsic.rs
new file mode 100644
index 000000000..42f6ac792
--- /dev/null
+++ b/tests/rustdoc/const-intrinsic.rs
@@ -0,0 +1,25 @@
+#![feature(intrinsics)]
+#![feature(staged_api)]
+
+#![crate_name = "foo"]
+#![stable(since="1.0.0", feature="rust1")]
+
+extern "rust-intrinsic" {
+ // @has 'foo/fn.transmute.html'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub const unsafe extern "rust-intrinsic" fn transmute<T, U>(_: T) -> U'
+ #[stable(since="1.0.0", feature="rust1")]
+ #[rustc_const_stable(feature = "const_transmute", since = "1.56.0")]
+ pub fn transmute<T, U>(_: T) -> U;
+
+ // @has 'foo/fn.unreachable.html'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub unsafe extern "rust-intrinsic" fn unreachable() -> !'
+ #[stable(since="1.0.0", feature="rust1")]
+ pub fn unreachable() -> !;
+}
+
+extern "C" {
+ // @has 'foo/fn.needs_drop.html'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub unsafe extern "C" fn needs_drop() -> !'
+ #[stable(since="1.0.0", feature="rust1")]
+ pub fn needs_drop() -> !;
+}
diff --git a/src/test/rustdoc/const-underscore.rs b/tests/rustdoc/const-underscore.rs
index 0d4809409..0d4809409 100644
--- a/src/test/rustdoc/const-underscore.rs
+++ b/tests/rustdoc/const-underscore.rs
diff --git a/src/test/rustdoc/const-value-display.rs b/tests/rustdoc/const-value-display.rs
index 8d95f0de9..8d95f0de9 100644
--- a/src/test/rustdoc/const-value-display.rs
+++ b/tests/rustdoc/const-value-display.rs
diff --git a/src/test/rustdoc/const.rs b/tests/rustdoc/const.rs
index 587ad4db4..587ad4db4 100644
--- a/src/test/rustdoc/const.rs
+++ b/tests/rustdoc/const.rs
diff --git a/src/test/rustdoc/constructor-imports.rs b/tests/rustdoc/constructor-imports.rs
index 26795c274..26795c274 100644
--- a/src/test/rustdoc/constructor-imports.rs
+++ b/tests/rustdoc/constructor-imports.rs
diff --git a/src/test/rustdoc/crate-version-escape.rs b/tests/rustdoc/crate-version-escape.rs
index 8413709f1..8413709f1 100644
--- a/src/test/rustdoc/crate-version-escape.rs
+++ b/tests/rustdoc/crate-version-escape.rs
diff --git a/src/test/rustdoc/crate-version.rs b/tests/rustdoc/crate-version.rs
index 2592c9853..2592c9853 100644
--- a/src/test/rustdoc/crate-version.rs
+++ b/tests/rustdoc/crate-version.rs
diff --git a/src/test/rustdoc/cross-crate-hidden-assoc-trait-items.rs b/tests/rustdoc/cross-crate-hidden-assoc-trait-items.rs
index d02bc4fe7..d02bc4fe7 100644
--- a/src/test/rustdoc/cross-crate-hidden-assoc-trait-items.rs
+++ b/tests/rustdoc/cross-crate-hidden-assoc-trait-items.rs
diff --git a/src/test/rustdoc/cross-crate-hidden-impl-parameter.rs b/tests/rustdoc/cross-crate-hidden-impl-parameter.rs
index eb2ced2f7..eb2ced2f7 100644
--- a/src/test/rustdoc/cross-crate-hidden-impl-parameter.rs
+++ b/tests/rustdoc/cross-crate-hidden-impl-parameter.rs
diff --git a/src/test/rustdoc/cross-crate-links.rs b/tests/rustdoc/cross-crate-links.rs
index 7c736a4cc..7c736a4cc 100644
--- a/src/test/rustdoc/cross-crate-links.rs
+++ b/tests/rustdoc/cross-crate-links.rs
diff --git a/src/test/rustdoc/cross-crate-primitive-doc.rs b/tests/rustdoc/cross-crate-primitive-doc.rs
index 4ba296ee0..4ba296ee0 100644
--- a/src/test/rustdoc/cross-crate-primitive-doc.rs
+++ b/tests/rustdoc/cross-crate-primitive-doc.rs
diff --git a/src/test/rustdoc/decl-trailing-whitespace.declaration.html b/tests/rustdoc/decl-trailing-whitespace.declaration.html
index 02b51b344..02b51b344 100644
--- a/src/test/rustdoc/decl-trailing-whitespace.declaration.html
+++ b/tests/rustdoc/decl-trailing-whitespace.declaration.html
diff --git a/src/test/rustdoc/decl-trailing-whitespace.rs b/tests/rustdoc/decl-trailing-whitespace.rs
index e47edc132..e47edc132 100644
--- a/src/test/rustdoc/decl-trailing-whitespace.rs
+++ b/tests/rustdoc/decl-trailing-whitespace.rs
diff --git a/src/test/rustdoc/decl_macro.rs b/tests/rustdoc/decl_macro.rs
index 94ade31b5..94ade31b5 100644
--- a/src/test/rustdoc/decl_macro.rs
+++ b/tests/rustdoc/decl_macro.rs
diff --git a/src/test/rustdoc/decl_macro_priv.rs b/tests/rustdoc/decl_macro_priv.rs
index 4e1279e34..4e1279e34 100644
--- a/src/test/rustdoc/decl_macro_priv.rs
+++ b/tests/rustdoc/decl_macro_priv.rs
diff --git a/src/test/rustdoc/deep-structures.rs b/tests/rustdoc/deep-structures.rs
index cd3b0d3ec..cd3b0d3ec 100644
--- a/src/test/rustdoc/deep-structures.rs
+++ b/tests/rustdoc/deep-structures.rs
diff --git a/src/test/rustdoc/default-impl.rs b/tests/rustdoc/default-impl.rs
index f11b3b29b..f11b3b29b 100644
--- a/src/test/rustdoc/default-impl.rs
+++ b/tests/rustdoc/default-impl.rs
diff --git a/src/test/rustdoc/default-theme.rs b/tests/rustdoc/default-theme.rs
index ecb8f0b3b..ecb8f0b3b 100644
--- a/src/test/rustdoc/default-theme.rs
+++ b/tests/rustdoc/default-theme.rs
diff --git a/src/test/rustdoc/default-trait-method-link.rs b/tests/rustdoc/default-trait-method-link.rs
index 7bcd2a3c1..7bcd2a3c1 100644
--- a/src/test/rustdoc/default-trait-method-link.rs
+++ b/tests/rustdoc/default-trait-method-link.rs
diff --git a/src/test/rustdoc/default-trait-method.rs b/tests/rustdoc/default-trait-method.rs
index 6d0e339c4..6d0e339c4 100644
--- a/src/test/rustdoc/default-trait-method.rs
+++ b/tests/rustdoc/default-trait-method.rs
diff --git a/src/test/rustdoc/deprecated-future-staged-api.rs b/tests/rustdoc/deprecated-future-staged-api.rs
index 2670e7f5d..2670e7f5d 100644
--- a/src/test/rustdoc/deprecated-future-staged-api.rs
+++ b/tests/rustdoc/deprecated-future-staged-api.rs
diff --git a/src/test/rustdoc/deprecated-future.rs b/tests/rustdoc/deprecated-future.rs
index 7db8cc602..7db8cc602 100644
--- a/src/test/rustdoc/deprecated-future.rs
+++ b/tests/rustdoc/deprecated-future.rs
diff --git a/src/test/rustdoc/deprecated-impls.rs b/tests/rustdoc/deprecated-impls.rs
index e419d2631..e419d2631 100644
--- a/src/test/rustdoc/deprecated-impls.rs
+++ b/tests/rustdoc/deprecated-impls.rs
diff --git a/src/test/rustdoc/deprecated.rs b/tests/rustdoc/deprecated.rs
index b3178da98..b3178da98 100644
--- a/src/test/rustdoc/deprecated.rs
+++ b/tests/rustdoc/deprecated.rs
diff --git a/src/test/rustdoc/deref-const-fn.rs b/tests/rustdoc/deref-const-fn.rs
index 8ecca6d12..8ecca6d12 100644
--- a/src/test/rustdoc/deref-const-fn.rs
+++ b/tests/rustdoc/deref-const-fn.rs
diff --git a/src/test/rustdoc/deref-mut-methods.rs b/tests/rustdoc/deref-mut-methods.rs
index fdf843422..fdf843422 100644
--- a/src/test/rustdoc/deref-mut-methods.rs
+++ b/tests/rustdoc/deref-mut-methods.rs
diff --git a/src/test/rustdoc/deref-recursive-pathbuf.rs b/tests/rustdoc/deref-recursive-pathbuf.rs
index be2b42b5a..be2b42b5a 100644
--- a/src/test/rustdoc/deref-recursive-pathbuf.rs
+++ b/tests/rustdoc/deref-recursive-pathbuf.rs
diff --git a/src/test/rustdoc/deref-recursive.rs b/tests/rustdoc/deref-recursive.rs
index 0436f2f86..0436f2f86 100644
--- a/src/test/rustdoc/deref-recursive.rs
+++ b/tests/rustdoc/deref-recursive.rs
diff --git a/src/test/rustdoc/deref-slice-core.rs b/tests/rustdoc/deref-slice-core.rs
index cccf273a8..cccf273a8 100644
--- a/src/test/rustdoc/deref-slice-core.rs
+++ b/tests/rustdoc/deref-slice-core.rs
diff --git a/src/test/rustdoc/deref-to-primitive.rs b/tests/rustdoc/deref-to-primitive.rs
index 527de780d..527de780d 100644
--- a/src/test/rustdoc/deref-to-primitive.rs
+++ b/tests/rustdoc/deref-to-primitive.rs
diff --git a/src/test/rustdoc/deref-typedef.rs b/tests/rustdoc/deref-typedef.rs
index 32424d13e..32424d13e 100644
--- a/src/test/rustdoc/deref-typedef.rs
+++ b/tests/rustdoc/deref-typedef.rs
diff --git a/src/test/rustdoc/description.rs b/tests/rustdoc/description.rs
index 05ec42822..05ec42822 100644
--- a/src/test/rustdoc/description.rs
+++ b/tests/rustdoc/description.rs
diff --git a/src/test/rustdoc/description_default.rs b/tests/rustdoc/description_default.rs
index 21d8e04d3..21d8e04d3 100644
--- a/src/test/rustdoc/description_default.rs
+++ b/tests/rustdoc/description_default.rs
diff --git a/src/test/rustdoc/doc-assoc-item.rs b/tests/rustdoc/doc-assoc-item.rs
index 4f1541865..4f1541865 100644
--- a/src/test/rustdoc/doc-assoc-item.rs
+++ b/tests/rustdoc/doc-assoc-item.rs
diff --git a/src/test/rustdoc/doc-auto-cfg.rs b/tests/rustdoc/doc-auto-cfg.rs
index 7842ee69c..7842ee69c 100644
--- a/src/test/rustdoc/doc-auto-cfg.rs
+++ b/tests/rustdoc/doc-auto-cfg.rs
diff --git a/src/test/rustdoc/doc-cfg-hide.rs b/tests/rustdoc/doc-cfg-hide.rs
index 636957fe9..636957fe9 100644
--- a/src/test/rustdoc/doc-cfg-hide.rs
+++ b/tests/rustdoc/doc-cfg-hide.rs
diff --git a/src/test/rustdoc/doc-cfg-implicit-gate.rs b/tests/rustdoc/doc-cfg-implicit-gate.rs
index 92804d372..92804d372 100644
--- a/src/test/rustdoc/doc-cfg-implicit-gate.rs
+++ b/tests/rustdoc/doc-cfg-implicit-gate.rs
diff --git a/src/test/rustdoc/doc-cfg-implicit.rs b/tests/rustdoc/doc-cfg-implicit.rs
index 5d17a4ede..5d17a4ede 100644
--- a/src/test/rustdoc/doc-cfg-implicit.rs
+++ b/tests/rustdoc/doc-cfg-implicit.rs
diff --git a/src/test/rustdoc/doc-cfg-simplification.rs b/tests/rustdoc/doc-cfg-simplification.rs
index 633df661b..633df661b 100644
--- a/src/test/rustdoc/doc-cfg-simplification.rs
+++ b/tests/rustdoc/doc-cfg-simplification.rs
diff --git a/src/test/rustdoc/doc-cfg-target-feature.rs b/tests/rustdoc/doc-cfg-target-feature.rs
index f1b000dc8..f1b000dc8 100644
--- a/src/test/rustdoc/doc-cfg-target-feature.rs
+++ b/tests/rustdoc/doc-cfg-target-feature.rs
diff --git a/src/test/rustdoc/doc-cfg-traits.rs b/tests/rustdoc/doc-cfg-traits.rs
index 13407b2c7..13407b2c7 100644
--- a/src/test/rustdoc/doc-cfg-traits.rs
+++ b/tests/rustdoc/doc-cfg-traits.rs
diff --git a/src/test/rustdoc/doc-cfg.rs b/tests/rustdoc/doc-cfg.rs
index 4cddb0b76..4cddb0b76 100644
--- a/src/test/rustdoc/doc-cfg.rs
+++ b/tests/rustdoc/doc-cfg.rs
diff --git a/src/test/rustdoc/doc-notable_trait-mut_t_is_not_an_iterator.rs b/tests/rustdoc/doc-notable_trait-mut_t_is_not_an_iterator.rs
index bfce46cf4..bfce46cf4 100644
--- a/src/test/rustdoc/doc-notable_trait-mut_t_is_not_an_iterator.rs
+++ b/tests/rustdoc/doc-notable_trait-mut_t_is_not_an_iterator.rs
diff --git a/src/test/rustdoc/doc-notable_trait-mut_t_is_not_ref_t.rs b/tests/rustdoc/doc-notable_trait-mut_t_is_not_ref_t.rs
index b359dcea0..b359dcea0 100644
--- a/src/test/rustdoc/doc-notable_trait-mut_t_is_not_ref_t.rs
+++ b/tests/rustdoc/doc-notable_trait-mut_t_is_not_ref_t.rs
diff --git a/tests/rustdoc/doc-notable_trait-slice.bare_fn_matches.html b/tests/rustdoc/doc-notable_trait-slice.bare_fn_matches.html
new file mode 100644
index 000000000..46be00a08
--- /dev/null
+++ b/tests/rustdoc/doc-notable_trait-slice.bare_fn_matches.html
@@ -0,0 +1 @@
+<script type="text/json" id="notable-traits-data">{"&amp;'static [SomeStruct]":"&lt;h3&gt;Notable traits for &lt;code&gt;&amp;amp;[&lt;a class=\"struct\" href=\"struct.SomeStruct.html\" title=\"struct doc_notable_trait_slice::SomeStruct\"&gt;SomeStruct&lt;/a&gt;]&lt;/code&gt;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;&lt;span class=\"where fmt-newline\"&gt;impl &lt;a class=\"trait\" href=\"trait.SomeTrait.html\" title=\"trait doc_notable_trait_slice::SomeTrait\"&gt;SomeTrait&lt;/a&gt; for &amp;amp;[&lt;a class=\"struct\" href=\"struct.SomeStruct.html\" title=\"struct doc_notable_trait_slice::SomeStruct\"&gt;SomeStruct&lt;/a&gt;]&lt;/span&gt;"}</script> \ No newline at end of file
diff --git a/src/test/rustdoc/doc-notable_trait-slice.rs b/tests/rustdoc/doc-notable_trait-slice.rs
index 2411da8cd..2411da8cd 100644
--- a/src/test/rustdoc/doc-notable_trait-slice.rs
+++ b/tests/rustdoc/doc-notable_trait-slice.rs
diff --git a/tests/rustdoc/doc-notable_trait.bare-fn.html b/tests/rustdoc/doc-notable_trait.bare-fn.html
new file mode 100644
index 000000000..f592e3b37
--- /dev/null
+++ b/tests/rustdoc/doc-notable_trait.bare-fn.html
@@ -0,0 +1 @@
+<script type="text/json" id="notable-traits-data">{"SomeStruct":"&lt;h3&gt;Notable traits for &lt;code&gt;&lt;a class=\"struct\" href=\"struct.SomeStruct.html\" title=\"struct doc_notable_trait::SomeStruct\"&gt;SomeStruct&lt;/a&gt;&lt;/code&gt;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;&lt;span class=\"where fmt-newline\"&gt;impl &lt;a class=\"trait\" href=\"trait.SomeTrait.html\" title=\"trait doc_notable_trait::SomeTrait\"&gt;SomeTrait&lt;/a&gt; for &lt;a class=\"struct\" href=\"struct.SomeStruct.html\" title=\"struct doc_notable_trait::SomeStruct\"&gt;SomeStruct&lt;/a&gt;&lt;/span&gt;"}</script> \ No newline at end of file
diff --git a/src/test/rustdoc/doc-notable_trait.rs b/tests/rustdoc/doc-notable_trait.rs
index 279faf554..279faf554 100644
--- a/src/test/rustdoc/doc-notable_trait.rs
+++ b/tests/rustdoc/doc-notable_trait.rs
diff --git a/tests/rustdoc/doc-notable_trait.some-struct-new.html b/tests/rustdoc/doc-notable_trait.some-struct-new.html
new file mode 100644
index 000000000..384be6689
--- /dev/null
+++ b/tests/rustdoc/doc-notable_trait.some-struct-new.html
@@ -0,0 +1 @@
+<script type="text/json" id="notable-traits-data">{"SomeStruct":"&lt;h3&gt;Notable traits for &lt;code&gt;&lt;a class=\"struct\" href=\"struct.SomeStruct.html\" title=\"struct doc_notable_trait::SomeStruct\"&gt;SomeStruct&lt;/a&gt;&lt;/code&gt;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;&lt;span class=\"where fmt-newline\"&gt;impl &lt;a class=\"trait\" href=\"trait.SomeTrait.html\" title=\"trait doc_notable_trait::SomeTrait\"&gt;SomeTrait&lt;/a&gt; for &lt;a class=\"struct\" href=\"struct.SomeStruct.html\" title=\"struct doc_notable_trait::SomeStruct\"&gt;SomeStruct&lt;/a&gt;&lt;/span&gt;","Wrapper&lt;Self&gt;":"&lt;h3&gt;Notable traits for &lt;code&gt;&lt;a class=\"struct\" href=\"struct.Wrapper.html\" title=\"struct doc_notable_trait::Wrapper\"&gt;Wrapper&lt;/a&gt;&amp;lt;T&amp;gt;&lt;/code&gt;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;&lt;span class=\"where fmt-newline\"&gt;impl&amp;lt;T:&amp;nbsp;&lt;a class=\"trait\" href=\"trait.SomeTrait.html\" title=\"trait doc_notable_trait::SomeTrait\"&gt;SomeTrait&lt;/a&gt;&amp;gt; &lt;a class=\"trait\" href=\"trait.SomeTrait.html\" title=\"trait doc_notable_trait::SomeTrait\"&gt;SomeTrait&lt;/a&gt; for &lt;a class=\"struct\" href=\"struct.Wrapper.html\" title=\"struct doc_notable_trait::Wrapper\"&gt;Wrapper&lt;/a&gt;&amp;lt;T&amp;gt;&lt;/span&gt;"}</script> \ No newline at end of file
diff --git a/tests/rustdoc/doc-notable_trait.wrap-me.html b/tests/rustdoc/doc-notable_trait.wrap-me.html
new file mode 100644
index 000000000..0cc1ee10f
--- /dev/null
+++ b/tests/rustdoc/doc-notable_trait.wrap-me.html
@@ -0,0 +1 @@
+<script type="text/json" id="notable-traits-data">{"Wrapper&lt;Self&gt;":"&lt;h3&gt;Notable traits for &lt;code&gt;&lt;a class=\"struct\" href=\"struct.Wrapper.html\" title=\"struct doc_notable_trait::Wrapper\"&gt;Wrapper&lt;/a&gt;&amp;lt;T&amp;gt;&lt;/code&gt;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;&lt;span class=\"where fmt-newline\"&gt;impl&amp;lt;T:&amp;nbsp;&lt;a class=\"trait\" href=\"trait.SomeTrait.html\" title=\"trait doc_notable_trait::SomeTrait\"&gt;SomeTrait&lt;/a&gt;&amp;gt; &lt;a class=\"trait\" href=\"trait.SomeTrait.html\" title=\"trait doc_notable_trait::SomeTrait\"&gt;SomeTrait&lt;/a&gt; for &lt;a class=\"struct\" href=\"struct.Wrapper.html\" title=\"struct doc_notable_trait::Wrapper\"&gt;Wrapper&lt;/a&gt;&amp;lt;T&amp;gt;&lt;/span&gt;"}</script> \ No newline at end of file
diff --git a/src/test/rustdoc/doc-notable_trait_box_is_not_an_iterator.rs b/tests/rustdoc/doc-notable_trait_box_is_not_an_iterator.rs
index 3fb00c7db..3fb00c7db 100644
--- a/src/test/rustdoc/doc-notable_trait_box_is_not_an_iterator.rs
+++ b/tests/rustdoc/doc-notable_trait_box_is_not_an_iterator.rs
diff --git a/src/test/rustdoc/doc-proc-macro.rs b/tests/rustdoc/doc-proc-macro.rs
index 19172ffa4..19172ffa4 100644
--- a/src/test/rustdoc/doc-proc-macro.rs
+++ b/tests/rustdoc/doc-proc-macro.rs
diff --git a/src/test/rustdoc/doc_auto_cfg_nested_impl.rs b/tests/rustdoc/doc_auto_cfg_nested_impl.rs
index 4d73e0d82..4d73e0d82 100644
--- a/src/test/rustdoc/doc_auto_cfg_nested_impl.rs
+++ b/tests/rustdoc/doc_auto_cfg_nested_impl.rs
diff --git a/src/test/rustdoc/doctest-manual-crate-name.rs b/tests/rustdoc/doctest-manual-crate-name.rs
index 3a5e3734e..3a5e3734e 100644
--- a/src/test/rustdoc/doctest-manual-crate-name.rs
+++ b/tests/rustdoc/doctest-manual-crate-name.rs
diff --git a/src/test/rustdoc/double-quote-escape.rs b/tests/rustdoc/double-quote-escape.rs
index 350c89741..350c89741 100644
--- a/src/test/rustdoc/double-quote-escape.rs
+++ b/tests/rustdoc/double-quote-escape.rs
diff --git a/src/test/rustdoc/duplicate-cfg.rs b/tests/rustdoc/duplicate-cfg.rs
index 18f3900b2..18f3900b2 100644
--- a/src/test/rustdoc/duplicate-cfg.rs
+++ b/tests/rustdoc/duplicate-cfg.rs
diff --git a/src/test/rustdoc/duplicate-flags.rs b/tests/rustdoc/duplicate-flags.rs
index dde36df2c..dde36df2c 100644
--- a/src/test/rustdoc/duplicate-flags.rs
+++ b/tests/rustdoc/duplicate-flags.rs
diff --git a/src/test/rustdoc/duplicate_impls/impls.rs b/tests/rustdoc/duplicate_impls/impls.rs
index 6875ad272..6875ad272 100644
--- a/src/test/rustdoc/duplicate_impls/impls.rs
+++ b/tests/rustdoc/duplicate_impls/impls.rs
diff --git a/src/test/rustdoc/duplicate_impls/issue-33054.rs b/tests/rustdoc/duplicate_impls/issue-33054.rs
index c1f95ac91..c1f95ac91 100644
--- a/src/test/rustdoc/duplicate_impls/issue-33054.rs
+++ b/tests/rustdoc/duplicate_impls/issue-33054.rs
diff --git a/src/test/rustdoc/duplicated_impl.rs b/tests/rustdoc/duplicated_impl.rs
index 4e901b31c..4e901b31c 100644
--- a/src/test/rustdoc/duplicated_impl.rs
+++ b/tests/rustdoc/duplicated_impl.rs
diff --git a/src/test/rustdoc/early-unindent.rs b/tests/rustdoc/early-unindent.rs
index 791a452c9..791a452c9 100644
--- a/src/test/rustdoc/early-unindent.rs
+++ b/tests/rustdoc/early-unindent.rs
diff --git a/src/test/rustdoc/edition-doctest.rs b/tests/rustdoc/edition-doctest.rs
index 6de25996b..6de25996b 100644
--- a/src/test/rustdoc/edition-doctest.rs
+++ b/tests/rustdoc/edition-doctest.rs
diff --git a/src/test/rustdoc/edition-flag.rs b/tests/rustdoc/edition-flag.rs
index e54c7d296..e54c7d296 100644
--- a/src/test/rustdoc/edition-flag.rs
+++ b/tests/rustdoc/edition-flag.rs
diff --git a/src/test/rustdoc/elided-lifetime.rs b/tests/rustdoc/elided-lifetime.rs
index 006132ef8..006132ef8 100644
--- a/src/test/rustdoc/elided-lifetime.rs
+++ b/tests/rustdoc/elided-lifetime.rs
diff --git a/src/test/rustdoc/empty-doc-comment.rs b/tests/rustdoc/empty-doc-comment.rs
index b1dae930e..b1dae930e 100644
--- a/src/test/rustdoc/empty-doc-comment.rs
+++ b/tests/rustdoc/empty-doc-comment.rs
diff --git a/src/test/rustdoc/empty-impl-block-private-with-doc.rs b/tests/rustdoc/empty-impl-block-private-with-doc.rs
index 439719961..439719961 100644
--- a/src/test/rustdoc/empty-impl-block-private-with-doc.rs
+++ b/tests/rustdoc/empty-impl-block-private-with-doc.rs
diff --git a/src/test/rustdoc/empty-impl-block-private.rs b/tests/rustdoc/empty-impl-block-private.rs
index 5caf02065..5caf02065 100644
--- a/src/test/rustdoc/empty-impl-block-private.rs
+++ b/tests/rustdoc/empty-impl-block-private.rs
diff --git a/src/test/rustdoc/empty-impl-block.rs b/tests/rustdoc/empty-impl-block.rs
index 95d4db06b..95d4db06b 100644
--- a/src/test/rustdoc/empty-impl-block.rs
+++ b/tests/rustdoc/empty-impl-block.rs
diff --git a/src/test/rustdoc/empty-impls.rs b/tests/rustdoc/empty-impls.rs
index 83902d6f7..83902d6f7 100644
--- a/src/test/rustdoc/empty-impls.rs
+++ b/tests/rustdoc/empty-impls.rs
diff --git a/src/test/rustdoc/empty-mod-private.rs b/tests/rustdoc/empty-mod-private.rs
index 147e11e58..147e11e58 100644
--- a/src/test/rustdoc/empty-mod-private.rs
+++ b/tests/rustdoc/empty-mod-private.rs
diff --git a/src/test/rustdoc/empty-mod-public.rs b/tests/rustdoc/empty-mod-public.rs
index c0bac4021..c0bac4021 100644
--- a/src/test/rustdoc/empty-mod-public.rs
+++ b/tests/rustdoc/empty-mod-public.rs
diff --git a/src/test/rustdoc/empty-section.rs b/tests/rustdoc/empty-section.rs
index d8241ab96..d8241ab96 100644
--- a/src/test/rustdoc/empty-section.rs
+++ b/tests/rustdoc/empty-section.rs
diff --git a/src/test/rustdoc/ensure-src-link.rs b/tests/rustdoc/ensure-src-link.rs
index c65387080..c65387080 100644
--- a/src/test/rustdoc/ensure-src-link.rs
+++ b/tests/rustdoc/ensure-src-link.rs
diff --git a/src/test/rustdoc/enum-headings.rs b/tests/rustdoc/enum-headings.rs
index 2e5c34391..2e5c34391 100644
--- a/src/test/rustdoc/enum-headings.rs
+++ b/tests/rustdoc/enum-headings.rs
diff --git a/src/test/rustdoc/escape-deref-methods.rs b/tests/rustdoc/escape-deref-methods.rs
index 66919d73e..66919d73e 100644
--- a/src/test/rustdoc/escape-deref-methods.rs
+++ b/tests/rustdoc/escape-deref-methods.rs
diff --git a/src/test/rustdoc/extern-default-method.no_href_on_anchor.html b/tests/rustdoc/extern-default-method.no_href_on_anchor.html
index ef14836cc..ef14836cc 100644
--- a/src/test/rustdoc/extern-default-method.no_href_on_anchor.html
+++ b/tests/rustdoc/extern-default-method.no_href_on_anchor.html
diff --git a/src/test/rustdoc/extern-default-method.rs b/tests/rustdoc/extern-default-method.rs
index fc28b230a..fc28b230a 100644
--- a/src/test/rustdoc/extern-default-method.rs
+++ b/tests/rustdoc/extern-default-method.rs
diff --git a/src/test/rustdoc/extern-html-root-url-precedence.rs b/tests/rustdoc/extern-html-root-url-precedence.rs
index def6767ea..def6767ea 100644
--- a/src/test/rustdoc/extern-html-root-url-precedence.rs
+++ b/tests/rustdoc/extern-html-root-url-precedence.rs
diff --git a/src/test/rustdoc/extern-html-root-url.rs b/tests/rustdoc/extern-html-root-url.rs
index 17eedcf2a..17eedcf2a 100644
--- a/src/test/rustdoc/extern-html-root-url.rs
+++ b/tests/rustdoc/extern-html-root-url.rs
diff --git a/src/test/rustdoc/extern-impl-trait.rs b/tests/rustdoc/extern-impl-trait.rs
index 8ab026afd..8ab026afd 100644
--- a/src/test/rustdoc/extern-impl-trait.rs
+++ b/tests/rustdoc/extern-impl-trait.rs
diff --git a/src/test/rustdoc/extern-impl.rs b/tests/rustdoc/extern-impl.rs
index fd1bc2140..fd1bc2140 100644
--- a/src/test/rustdoc/extern-impl.rs
+++ b/tests/rustdoc/extern-impl.rs
diff --git a/src/test/rustdoc/extern-links.rs b/tests/rustdoc/extern-links.rs
index 0383ccf7d..0383ccf7d 100644
--- a/src/test/rustdoc/extern-links.rs
+++ b/tests/rustdoc/extern-links.rs
diff --git a/src/test/rustdoc/extern-method.rs b/tests/rustdoc/extern-method.rs
index 9cf5fc190..9cf5fc190 100644
--- a/src/test/rustdoc/extern-method.rs
+++ b/tests/rustdoc/extern-method.rs
diff --git a/src/test/rustdoc/external-cross.rs b/tests/rustdoc/external-cross.rs
index 3f8e16882..3f8e16882 100644
--- a/src/test/rustdoc/external-cross.rs
+++ b/tests/rustdoc/external-cross.rs
diff --git a/src/test/rustdoc/external-doc.rs b/tests/rustdoc/external-doc.rs
index bd322d67a..bd322d67a 100644
--- a/src/test/rustdoc/external-doc.rs
+++ b/tests/rustdoc/external-doc.rs
diff --git a/src/test/rustdoc/external-macro-src.rs b/tests/rustdoc/external-macro-src.rs
index 359551ab7..359551ab7 100644
--- a/src/test/rustdoc/external-macro-src.rs
+++ b/tests/rustdoc/external-macro-src.rs
diff --git a/src/test/rustdoc/feature-gate-doc_auto_cfg.rs b/tests/rustdoc/feature-gate-doc_auto_cfg.rs
index da76381e4..da76381e4 100644
--- a/src/test/rustdoc/feature-gate-doc_auto_cfg.rs
+++ b/tests/rustdoc/feature-gate-doc_auto_cfg.rs
diff --git a/src/test/rustdoc/ffi.rs b/tests/rustdoc/ffi.rs
index 8140dfc72..8140dfc72 100644
--- a/src/test/rustdoc/ffi.rs
+++ b/tests/rustdoc/ffi.rs
diff --git a/src/test/rustdoc/fn-bound.rs b/tests/rustdoc/fn-bound.rs
index 9e060ff20..9e060ff20 100644
--- a/src/test/rustdoc/fn-bound.rs
+++ b/tests/rustdoc/fn-bound.rs
diff --git a/tests/rustdoc/fn-pointer-arg-name.rs b/tests/rustdoc/fn-pointer-arg-name.rs
new file mode 100644
index 000000000..96c64ac4e
--- /dev/null
+++ b/tests/rustdoc/fn-pointer-arg-name.rs
@@ -0,0 +1,5 @@
+#![crate_name = "foo"]
+
+// @has foo/fn.f.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn f(callback: fn(len: usize, foo: u32))'
+pub fn f(callback: fn(len: usize, foo: u32)) {}
diff --git a/src/test/rustdoc/fn-sidebar.rs b/tests/rustdoc/fn-sidebar.rs
index 2fe8ebec1..2fe8ebec1 100644
--- a/src/test/rustdoc/fn-sidebar.rs
+++ b/tests/rustdoc/fn-sidebar.rs
diff --git a/src/test/rustdoc/fn-type.rs b/tests/rustdoc/fn-type.rs
index 3959aeb6c..3959aeb6c 100644
--- a/src/test/rustdoc/fn-type.rs
+++ b/tests/rustdoc/fn-type.rs
diff --git a/src/test/rustdoc/force-target-feature.rs b/tests/rustdoc/force-target-feature.rs
index b6c10e834..b6c10e834 100644
--- a/src/test/rustdoc/force-target-feature.rs
+++ b/tests/rustdoc/force-target-feature.rs
diff --git a/src/test/rustdoc/foreigntype-reexport.rs b/tests/rustdoc/foreigntype-reexport.rs
index 1dec0ef3e..1dec0ef3e 100644
--- a/src/test/rustdoc/foreigntype-reexport.rs
+++ b/tests/rustdoc/foreigntype-reexport.rs
diff --git a/src/test/rustdoc/foreigntype.rs b/tests/rustdoc/foreigntype.rs
index 29f9c2926..29f9c2926 100644
--- a/src/test/rustdoc/foreigntype.rs
+++ b/tests/rustdoc/foreigntype.rs
diff --git a/src/test/rustdoc/generic-associated-types/gats.rs b/tests/rustdoc/generic-associated-types/gats.rs
index bcead3115..bcead3115 100644
--- a/src/test/rustdoc/generic-associated-types/gats.rs
+++ b/tests/rustdoc/generic-associated-types/gats.rs
diff --git a/src/test/rustdoc/generic-associated-types/issue-94683.rs b/tests/rustdoc/generic-associated-types/issue-94683.rs
index 985c7e983..985c7e983 100644
--- a/src/test/rustdoc/generic-associated-types/issue-94683.rs
+++ b/tests/rustdoc/generic-associated-types/issue-94683.rs
diff --git a/src/test/rustdoc/generic-impl.rs b/tests/rustdoc/generic-impl.rs
index 6f68b1574..6f68b1574 100644
--- a/src/test/rustdoc/generic-impl.rs
+++ b/tests/rustdoc/generic-impl.rs
diff --git a/src/test/rustdoc/generic_const_exprs.rs b/tests/rustdoc/generic_const_exprs.rs
index 6ff591639..6ff591639 100644
--- a/src/test/rustdoc/generic_const_exprs.rs
+++ b/tests/rustdoc/generic_const_exprs.rs
diff --git a/src/test/rustdoc/glob-shadowing-const.rs b/tests/rustdoc/glob-shadowing-const.rs
index 5b786cf53..5b786cf53 100644
--- a/src/test/rustdoc/glob-shadowing-const.rs
+++ b/tests/rustdoc/glob-shadowing-const.rs
diff --git a/src/test/rustdoc/glob-shadowing.rs b/tests/rustdoc/glob-shadowing.rs
index 66a31c42b..66a31c42b 100644
--- a/src/test/rustdoc/glob-shadowing.rs
+++ b/tests/rustdoc/glob-shadowing.rs
diff --git a/src/test/rustdoc/hidden-impls.rs b/tests/rustdoc/hidden-impls.rs
index 26e2e0e06..26e2e0e06 100644
--- a/src/test/rustdoc/hidden-impls.rs
+++ b/tests/rustdoc/hidden-impls.rs
diff --git a/src/test/rustdoc/hidden-line.rs b/tests/rustdoc/hidden-line.rs
index 00a05a7c2..00a05a7c2 100644
--- a/src/test/rustdoc/hidden-line.rs
+++ b/tests/rustdoc/hidden-line.rs
diff --git a/src/test/rustdoc/hidden-methods.rs b/tests/rustdoc/hidden-methods.rs
index 543d8f768..543d8f768 100644
--- a/src/test/rustdoc/hidden-methods.rs
+++ b/tests/rustdoc/hidden-methods.rs
diff --git a/src/test/rustdoc/hidden-trait-methods-with-document-hidden-items.rs b/tests/rustdoc/hidden-trait-methods-with-document-hidden-items.rs
index 95b3e9b65..95b3e9b65 100644
--- a/src/test/rustdoc/hidden-trait-methods-with-document-hidden-items.rs
+++ b/tests/rustdoc/hidden-trait-methods-with-document-hidden-items.rs
diff --git a/src/test/rustdoc/hidden-trait-methods.rs b/tests/rustdoc/hidden-trait-methods.rs
index e924ba7d0..e924ba7d0 100644
--- a/src/test/rustdoc/hidden-trait-methods.rs
+++ b/tests/rustdoc/hidden-trait-methods.rs
diff --git a/src/test/rustdoc/hidden-trait-struct-impls.rs b/tests/rustdoc/hidden-trait-struct-impls.rs
index cc3f63377..cc3f63377 100644
--- a/src/test/rustdoc/hidden-trait-struct-impls.rs
+++ b/tests/rustdoc/hidden-trait-struct-impls.rs
diff --git a/src/test/rustdoc/hide-complex-unevaluated-const-arguments.rs b/tests/rustdoc/hide-complex-unevaluated-const-arguments.rs
index 644a6e1cf..406157ce2 100644
--- a/src/test/rustdoc/hide-complex-unevaluated-const-arguments.rs
+++ b/tests/rustdoc/hide-complex-unevaluated-const-arguments.rs
@@ -63,7 +63,7 @@ impl<const S: Struct, St: Stage + ?Sized> Helper<S> for St {
// this test as long as one can ensure that private fields are not leaked!
//
// @has hide_complex_unevaluated_const_arguments/trait.Sub.html \
-// '//*[@class="rust trait"]' \
+// '//div[@class="item-decl"]/pre[@class="rust"]' \
// 'pub trait Sub: Sup<{ _ }, { _ }> { }'
pub trait Sub: Sup<{ 90 * 20 * 4 }, { Struct { private: () } }> {}
diff --git a/src/test/rustdoc/hide-complex-unevaluated-consts.rs b/tests/rustdoc/hide-complex-unevaluated-consts.rs
index ba623246a..ba623246a 100644
--- a/src/test/rustdoc/hide-complex-unevaluated-consts.rs
+++ b/tests/rustdoc/hide-complex-unevaluated-consts.rs
diff --git a/src/test/rustdoc/hide-unstable-trait.rs b/tests/rustdoc/hide-unstable-trait.rs
index 0bf7cabc4..0bf7cabc4 100644
--- a/src/test/rustdoc/hide-unstable-trait.rs
+++ b/tests/rustdoc/hide-unstable-trait.rs
diff --git a/src/test/rustdoc/higher-ranked-trait-bounds.rs b/tests/rustdoc/higher-ranked-trait-bounds.rs
index 3493ae6d2..3493ae6d2 100644
--- a/src/test/rustdoc/higher-ranked-trait-bounds.rs
+++ b/tests/rustdoc/higher-ranked-trait-bounds.rs
diff --git a/src/test/rustdoc/impl-box.rs b/tests/rustdoc/impl-box.rs
index 592b6c985..592b6c985 100644
--- a/src/test/rustdoc/impl-box.rs
+++ b/tests/rustdoc/impl-box.rs
diff --git a/src/test/rustdoc/impl-disambiguation.rs b/tests/rustdoc/impl-disambiguation.rs
index 9e74ede8f..9e74ede8f 100644
--- a/src/test/rustdoc/impl-disambiguation.rs
+++ b/tests/rustdoc/impl-disambiguation.rs
diff --git a/src/test/rustdoc/impl-everywhere.rs b/tests/rustdoc/impl-everywhere.rs
index 44885d430..44885d430 100644
--- a/src/test/rustdoc/impl-everywhere.rs
+++ b/tests/rustdoc/impl-everywhere.rs
diff --git a/src/test/rustdoc/impl-parts-crosscrate.rs b/tests/rustdoc/impl-parts-crosscrate.rs
index 34733f1f8..34733f1f8 100644
--- a/src/test/rustdoc/impl-parts-crosscrate.rs
+++ b/tests/rustdoc/impl-parts-crosscrate.rs
diff --git a/src/test/rustdoc/impl-parts.rs b/tests/rustdoc/impl-parts.rs
index 90cbb77cb..90cbb77cb 100644
--- a/src/test/rustdoc/impl-parts.rs
+++ b/tests/rustdoc/impl-parts.rs
diff --git a/src/test/rustdoc/impl-trait-alias.rs b/tests/rustdoc/impl-trait-alias.rs
index 4f681c78e..4f681c78e 100644
--- a/src/test/rustdoc/impl-trait-alias.rs
+++ b/tests/rustdoc/impl-trait-alias.rs
diff --git a/src/test/rustdoc/implementor-stable-version.rs b/tests/rustdoc/implementor-stable-version.rs
index a1f3fd5a8..a1f3fd5a8 100644
--- a/src/test/rustdoc/implementor-stable-version.rs
+++ b/tests/rustdoc/implementor-stable-version.rs
diff --git a/src/test/rustdoc/impossible-default.rs b/tests/rustdoc/impossible-default.rs
index 24d6e3bda..24d6e3bda 100644
--- a/src/test/rustdoc/impossible-default.rs
+++ b/tests/rustdoc/impossible-default.rs
diff --git a/src/test/rustdoc/include_str_cut.rs b/tests/rustdoc/include_str_cut.rs
index cbc1ba8db..cbc1ba8db 100644
--- a/src/test/rustdoc/include_str_cut.rs
+++ b/tests/rustdoc/include_str_cut.rs
diff --git a/src/test/rustdoc/index-page.rs b/tests/rustdoc/index-page.rs
index 0c947ea2e..fc755afda 100644
--- a/src/test/rustdoc/index-page.rs
+++ b/tests/rustdoc/index-page.rs
@@ -5,7 +5,7 @@
#![crate_name = "foo"]
// @has foo/../index.html
-// @has - '//h1[@class="fqn"]' 'List of all crates'
+// @has - '//h1' 'List of all crates'
// @has - '//ul[@class="all-items"]//a[@href="foo/index.html"]' 'foo'
// @has - '//ul[@class="all-items"]//a[@href="all_item_types/index.html"]' 'all_item_types'
pub struct Foo;
diff --git a/src/test/rustdoc/infinite-redirection.rs b/tests/rustdoc/infinite-redirection.rs
index f037a8e1a..f037a8e1a 100644
--- a/src/test/rustdoc/infinite-redirection.rs
+++ b/tests/rustdoc/infinite-redirection.rs
diff --git a/tests/rustdoc/inline-default-methods.rs b/tests/rustdoc/inline-default-methods.rs
new file mode 100644
index 000000000..a4ca928f3
--- /dev/null
+++ b/tests/rustdoc/inline-default-methods.rs
@@ -0,0 +1,9 @@
+// aux-build:inline-default-methods.rs
+// ignore-cross-compile
+
+extern crate inline_default_methods;
+
+// @has inline_default_methods/trait.Foo.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'fn bar(&self);'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'fn foo(&mut self) { ... }'
+pub use inline_default_methods::Foo;
diff --git a/src/test/rustdoc/inline_cross/add-docs.rs b/tests/rustdoc/inline_cross/add-docs.rs
index a1124d209..a1124d209 100644
--- a/src/test/rustdoc/inline_cross/add-docs.rs
+++ b/tests/rustdoc/inline_cross/add-docs.rs
diff --git a/src/test/rustdoc/inline_cross/assoc-items.rs b/tests/rustdoc/inline_cross/assoc-items.rs
index 811827a17..811827a17 100644
--- a/src/test/rustdoc/inline_cross/assoc-items.rs
+++ b/tests/rustdoc/inline_cross/assoc-items.rs
diff --git a/src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out0.html b/tests/rustdoc/inline_cross/assoc_item_trait_bounds.out0.html
index 8934bc1ee..8934bc1ee 100644
--- a/src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out0.html
+++ b/tests/rustdoc/inline_cross/assoc_item_trait_bounds.out0.html
diff --git a/src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out2.html b/tests/rustdoc/inline_cross/assoc_item_trait_bounds.out2.html
index bf330670e..bf330670e 100644
--- a/src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out2.html
+++ b/tests/rustdoc/inline_cross/assoc_item_trait_bounds.out2.html
diff --git a/src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out9.html b/tests/rustdoc/inline_cross/assoc_item_trait_bounds.out9.html
index 69d84e1b2..69d84e1b2 100644
--- a/src/test/rustdoc/inline_cross/assoc_item_trait_bounds.out9.html
+++ b/tests/rustdoc/inline_cross/assoc_item_trait_bounds.out9.html
diff --git a/src/test/rustdoc/inline_cross/assoc_item_trait_bounds.rs b/tests/rustdoc/inline_cross/assoc_item_trait_bounds.rs
index db2491b87..db2491b87 100644
--- a/src/test/rustdoc/inline_cross/assoc_item_trait_bounds.rs
+++ b/tests/rustdoc/inline_cross/assoc_item_trait_bounds.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/add-docs.rs b/tests/rustdoc/inline_cross/auxiliary/add-docs.rs
index 85efa508f..85efa508f 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/add-docs.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/add-docs.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/assoc-items.rs b/tests/rustdoc/inline_cross/auxiliary/assoc-items.rs
index 5fa299914..5fa299914 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/assoc-items.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/assoc-items.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/assoc_item_trait_bounds.rs b/tests/rustdoc/inline_cross/auxiliary/assoc_item_trait_bounds.rs
index 6644c8e41..6644c8e41 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/assoc_item_trait_bounds.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/assoc_item_trait_bounds.rs
diff --git a/tests/rustdoc/inline_cross/auxiliary/cross-glob.rs b/tests/rustdoc/inline_cross/auxiliary/cross-glob.rs
new file mode 100644
index 000000000..48672590a
--- /dev/null
+++ b/tests/rustdoc/inline_cross/auxiliary/cross-glob.rs
@@ -0,0 +1,7 @@
+#![crate_name = "inner"]
+
+pub struct SomeStruct;
+
+pub fn some_fn() {}
+
+pub enum Shadowed {}
diff --git a/src/test/rustdoc/inline_cross/auxiliary/default-trait-method.rs b/tests/rustdoc/inline_cross/auxiliary/default-trait-method.rs
index ce60bbfb4..ce60bbfb4 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/default-trait-method.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/default-trait-method.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/dyn_trait.rs b/tests/rustdoc/inline_cross/auxiliary/dyn_trait.rs
index 9ac2e3d96..9ac2e3d96 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/dyn_trait.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/dyn_trait.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/impl-inline-without-trait.rs b/tests/rustdoc/inline_cross/auxiliary/impl-inline-without-trait.rs
index 401a6a44a..401a6a44a 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/impl-inline-without-trait.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/impl-inline-without-trait.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/impl_trait_aux.rs b/tests/rustdoc/inline_cross/auxiliary/impl_trait_aux.rs
index 19433c968..19433c968 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/impl_trait_aux.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/impl_trait_aux.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/implementors_inline.rs b/tests/rustdoc/inline_cross/auxiliary/implementors_inline.rs
index b003fb357..b003fb357 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/implementors_inline.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/implementors_inline.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/issue-24183.rs b/tests/rustdoc/inline_cross/auxiliary/issue-24183.rs
index e7a13acc6..e7a13acc6 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/issue-24183.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/issue-24183.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/issue-33113.rs b/tests/rustdoc/inline_cross/auxiliary/issue-33113.rs
index 4e1f1918e..4e1f1918e 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/issue-33113.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/issue-33113.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/macro-vis.rs b/tests/rustdoc/inline_cross/auxiliary/macro-vis.rs
index 5615a4fdd..5615a4fdd 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/macro-vis.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/macro-vis.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/macros.rs b/tests/rustdoc/inline_cross/auxiliary/macros.rs
index 651ae2f1a..651ae2f1a 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/macros.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/macros.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/proc_macro.rs b/tests/rustdoc/inline_cross/auxiliary/proc_macro.rs
index d8e5746f3..d8e5746f3 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/proc_macro.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/proc_macro.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/renamed-via-module.rs b/tests/rustdoc/inline_cross/auxiliary/renamed-via-module.rs
index 2e5290782..2e5290782 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/renamed-via-module.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/renamed-via-module.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden-sig.rs b/tests/rustdoc/inline_cross/auxiliary/rustdoc-hidden-sig.rs
index 6357b76df..6357b76df 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden-sig.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/rustdoc-hidden-sig.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden.rs b/tests/rustdoc/inline_cross/auxiliary/rustdoc-hidden.rs
index 0c75b3127..0c75b3127 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-hidden.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/rustdoc-hidden.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-nonreachable-impls.rs b/tests/rustdoc/inline_cross/auxiliary/rustdoc-nonreachable-impls.rs
index 4e461d3bc..4e461d3bc 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-nonreachable-impls.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/rustdoc-nonreachable-impls.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs b/tests/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs
index 11d8733c4..11d8733c4 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/rustdoc-trait-object-impl.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/trait-vis.rs b/tests/rustdoc/inline_cross/auxiliary/trait-vis.rs
index e5bc7969b..e5bc7969b 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/trait-vis.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/trait-vis.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/use_crate.rs b/tests/rustdoc/inline_cross/auxiliary/use_crate.rs
index 75efbe0db..75efbe0db 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/use_crate.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/use_crate.rs
diff --git a/src/test/rustdoc/inline_cross/auxiliary/use_crate_2.rs b/tests/rustdoc/inline_cross/auxiliary/use_crate_2.rs
index 25b4c202e..25b4c202e 100644
--- a/src/test/rustdoc/inline_cross/auxiliary/use_crate_2.rs
+++ b/tests/rustdoc/inline_cross/auxiliary/use_crate_2.rs
diff --git a/tests/rustdoc/inline_cross/cross-glob.rs b/tests/rustdoc/inline_cross/cross-glob.rs
new file mode 100644
index 000000000..7a519d2d2
--- /dev/null
+++ b/tests/rustdoc/inline_cross/cross-glob.rs
@@ -0,0 +1,16 @@
+// aux-build:cross-glob.rs
+// build-aux-docs
+// ignore-cross-compile
+
+extern crate inner;
+
+// @has cross_glob/struct.SomeStruct.html
+// @has cross_glob/fn.some_fn.html
+// @!has cross_glob/enum.Shadowed.html
+// @!has cross_glob/index.html '//code' 'pub use inner::*;'
+#[doc(inline)]
+pub use inner::*;
+
+// This type shadows the glob-imported enum `Shadowed`.
+// @has cross_glob/type.Shadowed.html
+pub type Shadowed = u8;
diff --git a/src/test/rustdoc/inline_cross/default-trait-method.rs b/tests/rustdoc/inline_cross/default-trait-method.rs
index a4ec73a12..a4ec73a12 100644
--- a/src/test/rustdoc/inline_cross/default-trait-method.rs
+++ b/tests/rustdoc/inline_cross/default-trait-method.rs
diff --git a/src/test/rustdoc/inline_cross/dyn_trait.rs b/tests/rustdoc/inline_cross/dyn_trait.rs
index fa760540e..0da8bfc3a 100644
--- a/src/test/rustdoc/inline_cross/dyn_trait.rs
+++ b/tests/rustdoc/inline_cross/dyn_trait.rs
@@ -22,10 +22,10 @@ pub use dyn_trait::Ty2;
pub use dyn_trait::Ty3;
// @has user/fn.func0.html
-// @has - '//pre[@class="rust fn"]' "func0(_: &dyn Fn())"
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "func0(_: &dyn Fn())"
// FIXME(fmease): Show placeholder-lifetime bound, render "func0(_: &(dyn Fn() + '_))"
pub use dyn_trait::func0;
// @has user/fn.func1.html
-// @has - '//pre[@class="rust fn"]' "func1<'func>(_: &(dyn Fn() + 'func))"
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "func1<'func>(_: &(dyn Fn() + 'func))"
pub use dyn_trait::func1;
diff --git a/src/test/rustdoc/inline_cross/hidden-use.rs b/tests/rustdoc/inline_cross/hidden-use.rs
index 28a4f4bac..28a4f4bac 100644
--- a/src/test/rustdoc/inline_cross/hidden-use.rs
+++ b/tests/rustdoc/inline_cross/hidden-use.rs
diff --git a/src/test/rustdoc/inline_cross/impl-inline-without-trait.rs b/tests/rustdoc/inline_cross/impl-inline-without-trait.rs
index 9b67022fd..9b67022fd 100644
--- a/src/test/rustdoc/inline_cross/impl-inline-without-trait.rs
+++ b/tests/rustdoc/inline_cross/impl-inline-without-trait.rs
diff --git a/tests/rustdoc/inline_cross/impl_trait.rs b/tests/rustdoc/inline_cross/impl_trait.rs
new file mode 100644
index 000000000..e8587209b
--- /dev/null
+++ b/tests/rustdoc/inline_cross/impl_trait.rs
@@ -0,0 +1,47 @@
+// aux-build:impl_trait_aux.rs
+// edition:2018
+
+extern crate impl_trait_aux;
+
+// @has impl_trait/fn.func.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "pub fn func<'a>(_x: impl Clone + Into<Vec<u8, Global>> + 'a)"
+// @!has - '//div[@class="item-decl"]/pre[@class="rust"]' 'where'
+pub use impl_trait_aux::func;
+
+// @has impl_trait/fn.func2.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "func2<T>("
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "_x: impl Deref<Target = Option<T>> + Iterator<Item = T>,"
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "_y: impl Iterator<Item = u8>)"
+// @!has - '//div[@class="item-decl"]/pre[@class="rust"]' 'where'
+pub use impl_trait_aux::func2;
+
+// @has impl_trait/fn.func3.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "func3("
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "_x: impl Iterator<Item = impl Iterator<Item = u8>> + Clone)"
+// @!has - '//div[@class="item-decl"]/pre[@class="rust"]' 'where'
+pub use impl_trait_aux::func3;
+
+// @has impl_trait/fn.func4.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "func4<T>("
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "T: Iterator<Item = impl Clone>,"
+pub use impl_trait_aux::func4;
+
+// @has impl_trait/fn.func5.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "func5("
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "_f: impl for<'any> Fn(&'any str, &'any str) -> bool + for<'r> Other<T<'r> = ()>,"
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "_a: impl for<'alpha, 'beta> Auxiliary<'alpha, Item<'beta> = fn(_: &'beta ())>"
+// @!has - '//div[@class="item-decl"]/pre[@class="rust"]' 'where'
+pub use impl_trait_aux::func5;
+
+// @has impl_trait/fn.async_fn.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "pub async fn async_fn()"
+pub use impl_trait_aux::async_fn;
+
+// @has impl_trait/struct.Foo.html
+// @has - '//*[@id="method.method"]//h4[@class="code-header"]' "pub fn method<'a>(_x: impl Clone + Into<Vec<u8, Global>> + 'a)"
+// @!has - '//*[@id="method.method"]//h4[@class="code-header"]' 'where'
+pub use impl_trait_aux::Foo;
+
+// @has impl_trait/struct.Bar.html
+// @has - '//*[@id="method.async_foo"]' "pub async fn async_foo("
+pub use impl_trait_aux::Bar;
diff --git a/src/test/rustdoc/inline_cross/implementors-js.rs b/tests/rustdoc/inline_cross/implementors-js.rs
index c79f05d8d..c79f05d8d 100644
--- a/src/test/rustdoc/inline_cross/implementors-js.rs
+++ b/tests/rustdoc/inline_cross/implementors-js.rs
diff --git a/src/test/rustdoc/inline_cross/inline_hidden.rs b/tests/rustdoc/inline_cross/inline_hidden.rs
index dcceaadb9..dcceaadb9 100644
--- a/src/test/rustdoc/inline_cross/inline_hidden.rs
+++ b/tests/rustdoc/inline_cross/inline_hidden.rs
diff --git a/src/test/rustdoc/inline_cross/issue-24183.method_no_where_self_sized.html b/tests/rustdoc/inline_cross/issue-24183.method_no_where_self_sized.html
index f3c1c0452..f3c1c0452 100644
--- a/src/test/rustdoc/inline_cross/issue-24183.method_no_where_self_sized.html
+++ b/tests/rustdoc/inline_cross/issue-24183.method_no_where_self_sized.html
diff --git a/src/test/rustdoc/inline_cross/issue-24183.rs b/tests/rustdoc/inline_cross/issue-24183.rs
index d11b6955f..d11b6955f 100644
--- a/src/test/rustdoc/inline_cross/issue-24183.rs
+++ b/tests/rustdoc/inline_cross/issue-24183.rs
diff --git a/src/test/rustdoc/inline_cross/issue-28480.rs b/tests/rustdoc/inline_cross/issue-28480.rs
index 99f5b9007..99f5b9007 100644
--- a/src/test/rustdoc/inline_cross/issue-28480.rs
+++ b/tests/rustdoc/inline_cross/issue-28480.rs
diff --git a/src/test/rustdoc/inline_cross/issue-31948-1.rs b/tests/rustdoc/inline_cross/issue-31948-1.rs
index 6e89167b3..6e89167b3 100644
--- a/src/test/rustdoc/inline_cross/issue-31948-1.rs
+++ b/tests/rustdoc/inline_cross/issue-31948-1.rs
diff --git a/src/test/rustdoc/inline_cross/issue-31948-2.rs b/tests/rustdoc/inline_cross/issue-31948-2.rs
index 141e07656..141e07656 100644
--- a/src/test/rustdoc/inline_cross/issue-31948-2.rs
+++ b/tests/rustdoc/inline_cross/issue-31948-2.rs
diff --git a/src/test/rustdoc/inline_cross/issue-31948.rs b/tests/rustdoc/inline_cross/issue-31948.rs
index 96fc6ca47..96fc6ca47 100644
--- a/src/test/rustdoc/inline_cross/issue-31948.rs
+++ b/tests/rustdoc/inline_cross/issue-31948.rs
diff --git a/src/test/rustdoc/inline_cross/issue-32881.rs b/tests/rustdoc/inline_cross/issue-32881.rs
index 183fd15ab..183fd15ab 100644
--- a/src/test/rustdoc/inline_cross/issue-32881.rs
+++ b/tests/rustdoc/inline_cross/issue-32881.rs
diff --git a/src/test/rustdoc/inline_cross/issue-33113.rs b/tests/rustdoc/inline_cross/issue-33113.rs
index d954707fa..d954707fa 100644
--- a/src/test/rustdoc/inline_cross/issue-33113.rs
+++ b/tests/rustdoc/inline_cross/issue-33113.rs
diff --git a/src/test/rustdoc/inline_cross/macro-vis.rs b/tests/rustdoc/inline_cross/macro-vis.rs
index 9fefd38ad..9fefd38ad 100644
--- a/src/test/rustdoc/inline_cross/macro-vis.rs
+++ b/tests/rustdoc/inline_cross/macro-vis.rs
diff --git a/src/test/rustdoc/inline_cross/macros.rs b/tests/rustdoc/inline_cross/macros.rs
index 5daa0d4ba..5daa0d4ba 100644
--- a/src/test/rustdoc/inline_cross/macros.rs
+++ b/tests/rustdoc/inline_cross/macros.rs
diff --git a/src/test/rustdoc/inline_cross/proc_macro.rs b/tests/rustdoc/inline_cross/proc_macro.rs
index a46550865..a46550865 100644
--- a/src/test/rustdoc/inline_cross/proc_macro.rs
+++ b/tests/rustdoc/inline_cross/proc_macro.rs
diff --git a/src/test/rustdoc/inline_cross/renamed-via-module.rs b/tests/rustdoc/inline_cross/renamed-via-module.rs
index cdedbf070..cdedbf070 100644
--- a/src/test/rustdoc/inline_cross/renamed-via-module.rs
+++ b/tests/rustdoc/inline_cross/renamed-via-module.rs
diff --git a/src/test/rustdoc/inline_cross/trait-vis.rs b/tests/rustdoc/inline_cross/trait-vis.rs
index b646babac..b646babac 100644
--- a/src/test/rustdoc/inline_cross/trait-vis.rs
+++ b/tests/rustdoc/inline_cross/trait-vis.rs
diff --git a/src/test/rustdoc/inline_cross/use_crate.rs b/tests/rustdoc/inline_cross/use_crate.rs
index 00e0f041c..00e0f041c 100644
--- a/src/test/rustdoc/inline_cross/use_crate.rs
+++ b/tests/rustdoc/inline_cross/use_crate.rs
diff --git a/src/test/rustdoc/inline_local/glob-extern-document-private-items.rs b/tests/rustdoc/inline_local/glob-extern-document-private-items.rs
index 8e1089d60..8e1089d60 100644
--- a/src/test/rustdoc/inline_local/glob-extern-document-private-items.rs
+++ b/tests/rustdoc/inline_local/glob-extern-document-private-items.rs
diff --git a/src/test/rustdoc/inline_local/glob-extern.rs b/tests/rustdoc/inline_local/glob-extern.rs
index c592a4db1..c592a4db1 100644
--- a/src/test/rustdoc/inline_local/glob-extern.rs
+++ b/tests/rustdoc/inline_local/glob-extern.rs
diff --git a/src/test/rustdoc/inline_local/glob-private-document-private-items.rs b/tests/rustdoc/inline_local/glob-private-document-private-items.rs
index d8cbd4234..d8cbd4234 100644
--- a/src/test/rustdoc/inline_local/glob-private-document-private-items.rs
+++ b/tests/rustdoc/inline_local/glob-private-document-private-items.rs
diff --git a/src/test/rustdoc/inline_local/glob-private.rs b/tests/rustdoc/inline_local/glob-private.rs
index 303f1d610..303f1d610 100644
--- a/src/test/rustdoc/inline_local/glob-private.rs
+++ b/tests/rustdoc/inline_local/glob-private.rs
diff --git a/src/test/rustdoc/inline_local/hidden-use.rs b/tests/rustdoc/inline_local/hidden-use.rs
index de512fb26..de512fb26 100644
--- a/src/test/rustdoc/inline_local/hidden-use.rs
+++ b/tests/rustdoc/inline_local/hidden-use.rs
diff --git a/src/test/rustdoc/inline_local/issue-28537.rs b/tests/rustdoc/inline_local/issue-28537.rs
index da9cc4c94..da9cc4c94 100644
--- a/src/test/rustdoc/inline_local/issue-28537.rs
+++ b/tests/rustdoc/inline_local/issue-28537.rs
diff --git a/src/test/rustdoc/inline_local/issue-32343.rs b/tests/rustdoc/inline_local/issue-32343.rs
index 5620ae0dc..5620ae0dc 100644
--- a/src/test/rustdoc/inline_local/issue-32343.rs
+++ b/tests/rustdoc/inline_local/issue-32343.rs
diff --git a/src/test/rustdoc/inline_local/macro_by_example.rs b/tests/rustdoc/inline_local/macro_by_example.rs
index 5c33c0037..5c33c0037 100644
--- a/src/test/rustdoc/inline_local/macro_by_example.rs
+++ b/tests/rustdoc/inline_local/macro_by_example.rs
diff --git a/src/test/rustdoc/inline_local/please_inline.rs b/tests/rustdoc/inline_local/please_inline.rs
index e4429ef33..e4429ef33 100644
--- a/src/test/rustdoc/inline_local/please_inline.rs
+++ b/tests/rustdoc/inline_local/please_inline.rs
diff --git a/src/test/rustdoc/inline_local/trait-vis.rs b/tests/rustdoc/inline_local/trait-vis.rs
index 19b69da15..19b69da15 100644
--- a/src/test/rustdoc/inline_local/trait-vis.rs
+++ b/tests/rustdoc/inline_local/trait-vis.rs
diff --git a/src/test/rustdoc/internal.rs b/tests/rustdoc/internal.rs
index caad43a08..caad43a08 100644
--- a/src/test/rustdoc/internal.rs
+++ b/tests/rustdoc/internal.rs
diff --git a/src/test/rustdoc/intra-doc-crate/auxiliary/self.rs b/tests/rustdoc/intra-doc-crate/auxiliary/self.rs
index 54902f12e..54902f12e 100644
--- a/src/test/rustdoc/intra-doc-crate/auxiliary/self.rs
+++ b/tests/rustdoc/intra-doc-crate/auxiliary/self.rs
diff --git a/src/test/rustdoc/intra-doc-crate/self.rs b/tests/rustdoc/intra-doc-crate/self.rs
index 8c36a7fa0..8c36a7fa0 100644
--- a/src/test/rustdoc/intra-doc-crate/self.rs
+++ b/tests/rustdoc/intra-doc-crate/self.rs
diff --git a/src/test/rustdoc/intra-doc/anchors.rs b/tests/rustdoc/intra-doc/anchors.rs
index 3d4c46496..3d4c46496 100644
--- a/src/test/rustdoc/intra-doc/anchors.rs
+++ b/tests/rustdoc/intra-doc/anchors.rs
diff --git a/src/test/rustdoc/intra-doc/assoc-reexport-super.rs b/tests/rustdoc/intra-doc/assoc-reexport-super.rs
index a7bc1c6a2..a7bc1c6a2 100644
--- a/src/test/rustdoc/intra-doc/assoc-reexport-super.rs
+++ b/tests/rustdoc/intra-doc/assoc-reexport-super.rs
diff --git a/src/test/rustdoc/intra-doc/associated-defaults.rs b/tests/rustdoc/intra-doc/associated-defaults.rs
index c7e66c826..c7e66c826 100644
--- a/src/test/rustdoc/intra-doc/associated-defaults.rs
+++ b/tests/rustdoc/intra-doc/associated-defaults.rs
diff --git a/src/test/rustdoc/intra-doc/associated-items.rs b/tests/rustdoc/intra-doc/associated-items.rs
index 0b958eb8e..0b958eb8e 100644
--- a/src/test/rustdoc/intra-doc/associated-items.rs
+++ b/tests/rustdoc/intra-doc/associated-items.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/empty.rs b/tests/rustdoc/intra-doc/auxiliary/empty.rs
index d11c69f81..d11c69f81 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/empty.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/empty.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/empty2.rs b/tests/rustdoc/intra-doc/auxiliary/empty2.rs
index d11c69f81..d11c69f81 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/empty2.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/empty2.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/extern-builtin-type-impl-dep.rs b/tests/rustdoc/intra-doc/auxiliary/extern-builtin-type-impl-dep.rs
index d9a08cb41..d9a08cb41 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/extern-builtin-type-impl-dep.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/extern-builtin-type-impl-dep.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/extern-inherent-impl-dep.rs b/tests/rustdoc/intra-doc/auxiliary/extern-inherent-impl-dep.rs
index ee4138b68..ee4138b68 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/extern-inherent-impl-dep.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/extern-inherent-impl-dep.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/intra-link-extern-crate.rs b/tests/rustdoc/intra-doc/auxiliary/intra-link-extern-crate.rs
index db3bb38ad..db3bb38ad 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/intra-link-extern-crate.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/intra-link-extern-crate.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/intra-link-pub-use.rs b/tests/rustdoc/intra-doc/auxiliary/intra-link-pub-use.rs
index a4db2ffc4..a4db2ffc4 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/intra-link-pub-use.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/intra-link-pub-use.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/intra-link-reexport-additional-docs.rs b/tests/rustdoc/intra-doc/auxiliary/intra-link-reexport-additional-docs.rs
index fc51995a9..fc51995a9 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/intra-link-reexport-additional-docs.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/intra-link-reexport-additional-docs.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/intra-links-external-traits.rs b/tests/rustdoc/intra-doc/auxiliary/intra-links-external-traits.rs
index 6142dcda9..6142dcda9 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/intra-links-external-traits.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/intra-links-external-traits.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/issue-103463-aux.rs b/tests/rustdoc/intra-doc/auxiliary/issue-103463-aux.rs
index 2b8fdec1f..2b8fdec1f 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/issue-103463-aux.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/issue-103463-aux.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/issue-66159-1.rs b/tests/rustdoc/intra-doc/auxiliary/issue-66159-1.rs
index 2f3d069bd..2f3d069bd 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/issue-66159-1.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/issue-66159-1.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/my-core.rs b/tests/rustdoc/intra-doc/auxiliary/my-core.rs
index e22feb03a..e22feb03a 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/my-core.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/my-core.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/proc-macro-macro.rs b/tests/rustdoc/intra-doc/auxiliary/proc-macro-macro.rs
index 5ba132f25..5ba132f25 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/proc-macro-macro.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/proc-macro-macro.rs
diff --git a/src/test/rustdoc/intra-doc/auxiliary/pub-struct.rs b/tests/rustdoc/intra-doc/auxiliary/pub-struct.rs
index 75d428932..75d428932 100644
--- a/src/test/rustdoc/intra-doc/auxiliary/pub-struct.rs
+++ b/tests/rustdoc/intra-doc/auxiliary/pub-struct.rs
diff --git a/src/test/rustdoc/intra-doc/basic.rs b/tests/rustdoc/intra-doc/basic.rs
index 39f5c298b..39f5c298b 100644
--- a/src/test/rustdoc/intra-doc/basic.rs
+++ b/tests/rustdoc/intra-doc/basic.rs
diff --git a/src/test/rustdoc/intra-doc/builtin-macros.rs b/tests/rustdoc/intra-doc/builtin-macros.rs
index bbdbe246b..bbdbe246b 100644
--- a/src/test/rustdoc/intra-doc/builtin-macros.rs
+++ b/tests/rustdoc/intra-doc/builtin-macros.rs
diff --git a/src/test/rustdoc/intra-doc/crate-relative-assoc.rs b/tests/rustdoc/intra-doc/crate-relative-assoc.rs
index d4a0ecc35..d4a0ecc35 100644
--- a/src/test/rustdoc/intra-doc/crate-relative-assoc.rs
+++ b/tests/rustdoc/intra-doc/crate-relative-assoc.rs
diff --git a/src/test/rustdoc/intra-doc/crate-relative.rs b/tests/rustdoc/intra-doc/crate-relative.rs
index bacbcabfc..bacbcabfc 100644
--- a/src/test/rustdoc/intra-doc/crate-relative.rs
+++ b/tests/rustdoc/intra-doc/crate-relative.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/additional_doc.rs b/tests/rustdoc/intra-doc/cross-crate/additional_doc.rs
index e52fb9b1c..e52fb9b1c 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/additional_doc.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/additional_doc.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/additional_doc.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/additional_doc.rs
index 684fdd449..684fdd449 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/additional_doc.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/additional_doc.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/hidden.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/hidden.rs
index 34f4e9f63..34f4e9f63 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/hidden.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/hidden.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/intra-doc-basic.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/intra-doc-basic.rs
index d6a829966..d6a829966 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/intra-doc-basic.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/intra-doc-basic.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/intra-link-cross-crate-crate.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/intra-link-cross-crate-crate.rs
index a37848e23..a37848e23 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/intra-link-cross-crate-crate.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/intra-link-cross-crate-crate.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/macro_inner.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/macro_inner.rs
index cb7a8afb6..cb7a8afb6 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/macro_inner.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/macro_inner.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/module.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/module.rs
index 018fdedd9..018fdedd9 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/module.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/module.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/proc_macro.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/proc_macro.rs
index 0d5a95407..0d5a95407 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/proc_macro.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/proc_macro.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/submodule-inner.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/submodule-inner.rs
index 0612f53d6..0612f53d6 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/submodule-inner.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/submodule-inner.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/submodule-outer.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/submodule-outer.rs
index 105eb8e11..105eb8e11 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/submodule-outer.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/submodule-outer.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/traits.rs b/tests/rustdoc/intra-doc/cross-crate/auxiliary/traits.rs
index c16e39d56..c16e39d56 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/auxiliary/traits.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/auxiliary/traits.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/basic.rs b/tests/rustdoc/intra-doc/cross-crate/basic.rs
index ad7454918..ad7454918 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/basic.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/basic.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/crate.rs b/tests/rustdoc/intra-doc/cross-crate/crate.rs
index edf544708..edf544708 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/crate.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/crate.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/hidden.rs b/tests/rustdoc/intra-doc/cross-crate/hidden.rs
index 4f7d075ba..4f7d075ba 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/hidden.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/hidden.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/macro.rs b/tests/rustdoc/intra-doc/cross-crate/macro.rs
index 32f0a55d3..32f0a55d3 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/macro.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/macro.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/module.rs b/tests/rustdoc/intra-doc/cross-crate/module.rs
index fde932265..fde932265 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/module.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/module.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/submodule-inner.rs b/tests/rustdoc/intra-doc/cross-crate/submodule-inner.rs
index 577fe78a5..577fe78a5 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/submodule-inner.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/submodule-inner.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/submodule-outer.rs b/tests/rustdoc/intra-doc/cross-crate/submodule-outer.rs
index d0c0b7e85..d0c0b7e85 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/submodule-outer.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/submodule-outer.rs
diff --git a/src/test/rustdoc/intra-doc/cross-crate/traits.rs b/tests/rustdoc/intra-doc/cross-crate/traits.rs
index 7b9554bfd..7b9554bfd 100644
--- a/src/test/rustdoc/intra-doc/cross-crate/traits.rs
+++ b/tests/rustdoc/intra-doc/cross-crate/traits.rs
diff --git a/src/test/rustdoc/intra-doc/disambiguators-removed.rs b/tests/rustdoc/intra-doc/disambiguators-removed.rs
index 331a31413..331a31413 100644
--- a/src/test/rustdoc/intra-doc/disambiguators-removed.rs
+++ b/tests/rustdoc/intra-doc/disambiguators-removed.rs
diff --git a/src/test/rustdoc/intra-doc/email-address.rs b/tests/rustdoc/intra-doc/email-address.rs
index 24161c3bb..24161c3bb 100644
--- a/src/test/rustdoc/intra-doc/email-address.rs
+++ b/tests/rustdoc/intra-doc/email-address.rs
diff --git a/src/test/rustdoc/intra-doc/enum-struct-field.rs b/tests/rustdoc/intra-doc/enum-struct-field.rs
index 2270a1faf..2270a1faf 100644
--- a/src/test/rustdoc/intra-doc/enum-struct-field.rs
+++ b/tests/rustdoc/intra-doc/enum-struct-field.rs
diff --git a/src/test/rustdoc/intra-doc/extern-builtin-type-impl.rs b/tests/rustdoc/intra-doc/extern-builtin-type-impl.rs
index 7bb1ded3f..7bb1ded3f 100644
--- a/src/test/rustdoc/intra-doc/extern-builtin-type-impl.rs
+++ b/tests/rustdoc/intra-doc/extern-builtin-type-impl.rs
diff --git a/src/test/rustdoc/intra-doc/extern-crate-only-used-in-link.rs b/tests/rustdoc/intra-doc/extern-crate-only-used-in-link.rs
index ad50887e9..ad50887e9 100644
--- a/src/test/rustdoc/intra-doc/extern-crate-only-used-in-link.rs
+++ b/tests/rustdoc/intra-doc/extern-crate-only-used-in-link.rs
diff --git a/src/test/rustdoc/intra-doc/extern-crate.rs b/tests/rustdoc/intra-doc/extern-crate.rs
index 4e4438dea..4e4438dea 100644
--- a/src/test/rustdoc/intra-doc/extern-crate.rs
+++ b/tests/rustdoc/intra-doc/extern-crate.rs
diff --git a/src/test/rustdoc/intra-doc/extern-inherent-impl.rs b/tests/rustdoc/intra-doc/extern-inherent-impl.rs
index 2e41c2214..2e41c2214 100644
--- a/src/test/rustdoc/intra-doc/extern-inherent-impl.rs
+++ b/tests/rustdoc/intra-doc/extern-inherent-impl.rs
diff --git a/src/test/rustdoc/intra-doc/extern-reference-link.rs b/tests/rustdoc/intra-doc/extern-reference-link.rs
index bad6ec755..bad6ec755 100644
--- a/src/test/rustdoc/intra-doc/extern-reference-link.rs
+++ b/tests/rustdoc/intra-doc/extern-reference-link.rs
diff --git a/src/test/rustdoc/intra-doc/extern-type.rs b/tests/rustdoc/intra-doc/extern-type.rs
index 5440f582d..5440f582d 100644
--- a/src/test/rustdoc/intra-doc/extern-type.rs
+++ b/tests/rustdoc/intra-doc/extern-type.rs
diff --git a/src/test/rustdoc/intra-doc/external-traits.rs b/tests/rustdoc/intra-doc/external-traits.rs
index a0a66f242..a0a66f242 100644
--- a/src/test/rustdoc/intra-doc/external-traits.rs
+++ b/tests/rustdoc/intra-doc/external-traits.rs
diff --git a/src/test/rustdoc/intra-doc/field.rs b/tests/rustdoc/intra-doc/field.rs
index 001143489..001143489 100644
--- a/src/test/rustdoc/intra-doc/field.rs
+++ b/tests/rustdoc/intra-doc/field.rs
diff --git a/src/test/rustdoc/intra-doc/generic-params.rs b/tests/rustdoc/intra-doc/generic-params.rs
index fbc9fc6a9..fbc9fc6a9 100644
--- a/src/test/rustdoc/intra-doc/generic-params.rs
+++ b/tests/rustdoc/intra-doc/generic-params.rs
diff --git a/src/test/rustdoc/intra-doc/generic-trait-impl.rs b/tests/rustdoc/intra-doc/generic-trait-impl.rs
index ba8595abf..ba8595abf 100644
--- a/src/test/rustdoc/intra-doc/generic-trait-impl.rs
+++ b/tests/rustdoc/intra-doc/generic-trait-impl.rs
diff --git a/src/test/rustdoc/intra-doc/in-bodies.rs b/tests/rustdoc/intra-doc/in-bodies.rs
index 55169e5d3..55169e5d3 100644
--- a/src/test/rustdoc/intra-doc/in-bodies.rs
+++ b/tests/rustdoc/intra-doc/in-bodies.rs
diff --git a/src/test/rustdoc/intra-doc/issue-103463.rs b/tests/rustdoc/intra-doc/issue-103463.rs
index 4adf8a9a8..4adf8a9a8 100644
--- a/src/test/rustdoc/intra-doc/issue-103463.rs
+++ b/tests/rustdoc/intra-doc/issue-103463.rs
diff --git a/src/test/rustdoc/intra-doc/issue-104145.rs b/tests/rustdoc/intra-doc/issue-104145.rs
index 9ce36740d..9ce36740d 100644
--- a/src/test/rustdoc/intra-doc/issue-104145.rs
+++ b/tests/rustdoc/intra-doc/issue-104145.rs
diff --git a/src/test/rustdoc/intra-doc/issue-66159.rs b/tests/rustdoc/intra-doc/issue-66159.rs
index 56742b397..56742b397 100644
--- a/src/test/rustdoc/intra-doc/issue-66159.rs
+++ b/tests/rustdoc/intra-doc/issue-66159.rs
diff --git a/src/test/rustdoc/intra-doc/issue-82209.rs b/tests/rustdoc/intra-doc/issue-82209.rs
index a5fe855cb..a5fe855cb 100644
--- a/src/test/rustdoc/intra-doc/issue-82209.rs
+++ b/tests/rustdoc/intra-doc/issue-82209.rs
diff --git a/src/test/rustdoc/intra-doc/libstd-re-export.rs b/tests/rustdoc/intra-doc/libstd-re-export.rs
index 6c41eb2b5..6c41eb2b5 100644
--- a/src/test/rustdoc/intra-doc/libstd-re-export.rs
+++ b/tests/rustdoc/intra-doc/libstd-re-export.rs
diff --git a/src/test/rustdoc/intra-doc/macros-disambiguators.rs b/tests/rustdoc/intra-doc/macros-disambiguators.rs
index cd4caa6a8..cd4caa6a8 100644
--- a/src/test/rustdoc/intra-doc/macros-disambiguators.rs
+++ b/tests/rustdoc/intra-doc/macros-disambiguators.rs
diff --git a/src/test/rustdoc/intra-doc/mod-ambiguity.rs b/tests/rustdoc/intra-doc/mod-ambiguity.rs
index 0c7acbaf0..0c7acbaf0 100644
--- a/src/test/rustdoc/intra-doc/mod-ambiguity.rs
+++ b/tests/rustdoc/intra-doc/mod-ambiguity.rs
diff --git a/src/test/rustdoc/intra-doc/mod-relative.rs b/tests/rustdoc/intra-doc/mod-relative.rs
index 49d3399b9..49d3399b9 100644
--- a/src/test/rustdoc/intra-doc/mod-relative.rs
+++ b/tests/rustdoc/intra-doc/mod-relative.rs
diff --git a/src/test/rustdoc/intra-doc/no-doc-primitive.rs b/tests/rustdoc/intra-doc/no-doc-primitive.rs
index e5eba1d8d..e5eba1d8d 100644
--- a/src/test/rustdoc/intra-doc/no-doc-primitive.rs
+++ b/tests/rustdoc/intra-doc/no-doc-primitive.rs
diff --git a/src/test/rustdoc/intra-doc/non-path-primitives.rs b/tests/rustdoc/intra-doc/non-path-primitives.rs
index be4b44b31..be4b44b31 100644
--- a/src/test/rustdoc/intra-doc/non-path-primitives.rs
+++ b/tests/rustdoc/intra-doc/non-path-primitives.rs
diff --git a/src/test/rustdoc/intra-doc/prim-assoc.rs b/tests/rustdoc/intra-doc/prim-assoc.rs
index dfa7db8a5..dfa7db8a5 100644
--- a/src/test/rustdoc/intra-doc/prim-assoc.rs
+++ b/tests/rustdoc/intra-doc/prim-assoc.rs
diff --git a/src/test/rustdoc/intra-doc/prim-associated-traits.rs b/tests/rustdoc/intra-doc/prim-associated-traits.rs
index 8639a24f7..8639a24f7 100644
--- a/src/test/rustdoc/intra-doc/prim-associated-traits.rs
+++ b/tests/rustdoc/intra-doc/prim-associated-traits.rs
diff --git a/src/test/rustdoc/intra-doc/prim-methods-external-core.rs b/tests/rustdoc/intra-doc/prim-methods-external-core.rs
index c3340af33..c3340af33 100644
--- a/src/test/rustdoc/intra-doc/prim-methods-external-core.rs
+++ b/tests/rustdoc/intra-doc/prim-methods-external-core.rs
diff --git a/src/test/rustdoc/intra-doc/prim-methods-local.rs b/tests/rustdoc/intra-doc/prim-methods-local.rs
index 79d8df045..79d8df045 100644
--- a/src/test/rustdoc/intra-doc/prim-methods-local.rs
+++ b/tests/rustdoc/intra-doc/prim-methods-local.rs
diff --git a/src/test/rustdoc/intra-doc/prim-methods.rs b/tests/rustdoc/intra-doc/prim-methods.rs
index a412a23fd..a412a23fd 100644
--- a/src/test/rustdoc/intra-doc/prim-methods.rs
+++ b/tests/rustdoc/intra-doc/prim-methods.rs
diff --git a/src/test/rustdoc/intra-doc/prim-precedence.rs b/tests/rustdoc/intra-doc/prim-precedence.rs
index 25625b952..25625b952 100644
--- a/src/test/rustdoc/intra-doc/prim-precedence.rs
+++ b/tests/rustdoc/intra-doc/prim-precedence.rs
diff --git a/src/test/rustdoc/intra-doc/prim-self.rs b/tests/rustdoc/intra-doc/prim-self.rs
index c7ce71b15..c7ce71b15 100644
--- a/src/test/rustdoc/intra-doc/prim-self.rs
+++ b/tests/rustdoc/intra-doc/prim-self.rs
diff --git a/src/test/rustdoc/intra-doc/primitive-disambiguators.rs b/tests/rustdoc/intra-doc/primitive-disambiguators.rs
index adcab767d..adcab767d 100644
--- a/src/test/rustdoc/intra-doc/primitive-disambiguators.rs
+++ b/tests/rustdoc/intra-doc/primitive-disambiguators.rs
diff --git a/src/test/rustdoc/intra-doc/primitive-non-default-impl.rs b/tests/rustdoc/intra-doc/primitive-non-default-impl.rs
index 474bf3477..474bf3477 100644
--- a/src/test/rustdoc/intra-doc/primitive-non-default-impl.rs
+++ b/tests/rustdoc/intra-doc/primitive-non-default-impl.rs
diff --git a/src/test/rustdoc/intra-doc/private-failures-ignored.rs b/tests/rustdoc/intra-doc/private-failures-ignored.rs
index b272bfb5a..b272bfb5a 100644
--- a/src/test/rustdoc/intra-doc/private-failures-ignored.rs
+++ b/tests/rustdoc/intra-doc/private-failures-ignored.rs
diff --git a/src/test/rustdoc/intra-doc/private.rs b/tests/rustdoc/intra-doc/private.rs
index 349091e93..349091e93 100644
--- a/src/test/rustdoc/intra-doc/private.rs
+++ b/tests/rustdoc/intra-doc/private.rs
diff --git a/src/test/rustdoc/intra-doc/proc-macro.rs b/tests/rustdoc/intra-doc/proc-macro.rs
index 78379a902..78379a902 100644
--- a/src/test/rustdoc/intra-doc/proc-macro.rs
+++ b/tests/rustdoc/intra-doc/proc-macro.rs
diff --git a/src/test/rustdoc/intra-doc/pub-use.rs b/tests/rustdoc/intra-doc/pub-use.rs
index 8a998496c..8a998496c 100644
--- a/src/test/rustdoc/intra-doc/pub-use.rs
+++ b/tests/rustdoc/intra-doc/pub-use.rs
diff --git a/src/test/rustdoc/intra-doc/raw-ident-self.rs b/tests/rustdoc/intra-doc/raw-ident-self.rs
index 1ed33db93..1ed33db93 100644
--- a/src/test/rustdoc/intra-doc/raw-ident-self.rs
+++ b/tests/rustdoc/intra-doc/raw-ident-self.rs
diff --git a/src/test/rustdoc/intra-doc/reexport-additional-docs.rs b/tests/rustdoc/intra-doc/reexport-additional-docs.rs
index 64683bacd..64683bacd 100644
--- a/src/test/rustdoc/intra-doc/reexport-additional-docs.rs
+++ b/tests/rustdoc/intra-doc/reexport-additional-docs.rs
diff --git a/src/test/rustdoc/intra-doc/self-cache.rs b/tests/rustdoc/intra-doc/self-cache.rs
index 63bf7fa57..63bf7fa57 100644
--- a/src/test/rustdoc/intra-doc/self-cache.rs
+++ b/tests/rustdoc/intra-doc/self-cache.rs
diff --git a/src/test/rustdoc/intra-doc/self.rs b/tests/rustdoc/intra-doc/self.rs
index 0ba7df8a7..0ba7df8a7 100644
--- a/src/test/rustdoc/intra-doc/self.rs
+++ b/tests/rustdoc/intra-doc/self.rs
diff --git a/src/test/rustdoc/intra-doc/trait-impl.rs b/tests/rustdoc/intra-doc/trait-impl.rs
index cf60dc1db..cf60dc1db 100644
--- a/src/test/rustdoc/intra-doc/trait-impl.rs
+++ b/tests/rustdoc/intra-doc/trait-impl.rs
diff --git a/src/test/rustdoc/intra-doc/trait-item.rs b/tests/rustdoc/intra-doc/trait-item.rs
index e95dba33b..e95dba33b 100644
--- a/src/test/rustdoc/intra-doc/trait-item.rs
+++ b/tests/rustdoc/intra-doc/trait-item.rs
diff --git a/src/test/rustdoc/intra-doc/true-false.rs b/tests/rustdoc/intra-doc/true-false.rs
index e02be9cab..e02be9cab 100644
--- a/src/test/rustdoc/intra-doc/true-false.rs
+++ b/tests/rustdoc/intra-doc/true-false.rs
diff --git a/src/test/rustdoc/intra-doc/type-alias.rs b/tests/rustdoc/intra-doc/type-alias.rs
index 6c52082a2..6c52082a2 100644
--- a/src/test/rustdoc/intra-doc/type-alias.rs
+++ b/tests/rustdoc/intra-doc/type-alias.rs
diff --git a/src/test/rustdoc/invalid.crate.name.rs b/tests/rustdoc/invalid.crate.name.rs
index c19713b56..c19713b56 100644
--- a/src/test/rustdoc/invalid.crate.name.rs
+++ b/tests/rustdoc/invalid.crate.name.rs
diff --git a/src/test/rustdoc/issue-100204-inline-impl-through-glob-import.rs b/tests/rustdoc/issue-100204-inline-impl-through-glob-import.rs
index 3e20c5c07..3e20c5c07 100644
--- a/src/test/rustdoc/issue-100204-inline-impl-through-glob-import.rs
+++ b/tests/rustdoc/issue-100204-inline-impl-through-glob-import.rs
diff --git a/src/test/rustdoc/issue-100241.rs b/tests/rustdoc/issue-100241.rs
index 9e9cba13a..9e9cba13a 100644
--- a/src/test/rustdoc/issue-100241.rs
+++ b/tests/rustdoc/issue-100241.rs
diff --git a/src/test/rustdoc/issue-100620.rs b/tests/rustdoc/issue-100620.rs
index 097666eb5..097666eb5 100644
--- a/src/test/rustdoc/issue-100620.rs
+++ b/tests/rustdoc/issue-100620.rs
diff --git a/src/test/rustdoc/issue-100679-sidebar-links-deref.rs b/tests/rustdoc/issue-100679-sidebar-links-deref.rs
index f09d23206..f09d23206 100644
--- a/src/test/rustdoc/issue-100679-sidebar-links-deref.rs
+++ b/tests/rustdoc/issue-100679-sidebar-links-deref.rs
diff --git a/src/test/rustdoc/issue-101743-bold-tag.rs b/tests/rustdoc/issue-101743-bold-tag.rs
index 631181fec..631181fec 100644
--- a/src/test/rustdoc/issue-101743-bold-tag.rs
+++ b/tests/rustdoc/issue-101743-bold-tag.rs
diff --git a/src/test/rustdoc/issue-102154.rs b/tests/rustdoc/issue-102154.rs
index b36f27080..b36f27080 100644
--- a/src/test/rustdoc/issue-102154.rs
+++ b/tests/rustdoc/issue-102154.rs
diff --git a/tests/rustdoc/issue-105952.rs b/tests/rustdoc/issue-105952.rs
new file mode 100644
index 000000000..e3f1df006
--- /dev/null
+++ b/tests/rustdoc/issue-105952.rs
@@ -0,0 +1,14 @@
+#![crate_name = "foo"]
+
+#![feature(associated_const_equality)]
+pub enum ParseMode {
+ Raw,
+}
+pub trait Parse {
+ const PARSE_MODE: ParseMode;
+}
+pub trait RenderRaw {}
+
+// @hasraw foo/trait.RenderRaw.html 'impl'
+// @hasraw foo/trait.RenderRaw.html 'ParseMode::Raw'
+impl<T: Parse<PARSE_MODE = { ParseMode::Raw }>> RenderRaw for T {}
diff --git a/tests/rustdoc/issue-107350.rs b/tests/rustdoc/issue-107350.rs
new file mode 100644
index 000000000..75f378ed2
--- /dev/null
+++ b/tests/rustdoc/issue-107350.rs
@@ -0,0 +1,18 @@
+// This is a regression test for <https://github.com/rust-lang/rust/issues/107350>.
+// It shouldn't loop indefinitely.
+
+#![crate_name = "foo"]
+
+// @has 'foo/oops/enum.OhNo.html'
+
+pub mod oops {
+ pub use crate::oops::OhNo;
+
+ mod inner {
+ pub enum OhNo {
+ Item = 1,
+ }
+ }
+
+ pub use self::inner::*;
+}
diff --git a/src/test/rustdoc/issue-12834.rs b/tests/rustdoc/issue-12834.rs
index 9605a1e78..9605a1e78 100644
--- a/src/test/rustdoc/issue-12834.rs
+++ b/tests/rustdoc/issue-12834.rs
diff --git a/src/test/rustdoc/issue-13698.rs b/tests/rustdoc/issue-13698.rs
index 3046a8a28..3046a8a28 100644
--- a/src/test/rustdoc/issue-13698.rs
+++ b/tests/rustdoc/issue-13698.rs
diff --git a/src/test/rustdoc/issue-15169.rs b/tests/rustdoc/issue-15169.rs
index e525d85e2..e525d85e2 100644
--- a/src/test/rustdoc/issue-15169.rs
+++ b/tests/rustdoc/issue-15169.rs
diff --git a/src/test/rustdoc/issue-15318-2.rs b/tests/rustdoc/issue-15318-2.rs
index f7f5052a3..f7f5052a3 100644
--- a/src/test/rustdoc/issue-15318-2.rs
+++ b/tests/rustdoc/issue-15318-2.rs
diff --git a/src/test/rustdoc/issue-15318-3.rs b/tests/rustdoc/issue-15318-3.rs
index 2fadc26b0..2fadc26b0 100644
--- a/src/test/rustdoc/issue-15318-3.rs
+++ b/tests/rustdoc/issue-15318-3.rs
diff --git a/src/test/rustdoc/issue-15318.rs b/tests/rustdoc/issue-15318.rs
index 0349fe285..0349fe285 100644
--- a/src/test/rustdoc/issue-15318.rs
+++ b/tests/rustdoc/issue-15318.rs
diff --git a/src/test/rustdoc/issue-15347.rs b/tests/rustdoc/issue-15347.rs
index e93d74011..e93d74011 100644
--- a/src/test/rustdoc/issue-15347.rs
+++ b/tests/rustdoc/issue-15347.rs
diff --git a/src/test/rustdoc/issue-16019.rs b/tests/rustdoc/issue-16019.rs
index 239d92378..239d92378 100644
--- a/src/test/rustdoc/issue-16019.rs
+++ b/tests/rustdoc/issue-16019.rs
diff --git a/src/test/rustdoc/issue-16265-1.rs b/tests/rustdoc/issue-16265-1.rs
index 2fda637a6..2fda637a6 100644
--- a/src/test/rustdoc/issue-16265-1.rs
+++ b/tests/rustdoc/issue-16265-1.rs
diff --git a/src/test/rustdoc/issue-16265-2.rs b/tests/rustdoc/issue-16265-2.rs
index c3eb35617..c3eb35617 100644
--- a/src/test/rustdoc/issue-16265-2.rs
+++ b/tests/rustdoc/issue-16265-2.rs
diff --git a/src/test/rustdoc/issue-17476.rs b/tests/rustdoc/issue-17476.rs
index a5b484c98..a5b484c98 100644
--- a/src/test/rustdoc/issue-17476.rs
+++ b/tests/rustdoc/issue-17476.rs
diff --git a/src/test/rustdoc/issue-18199.rs b/tests/rustdoc/issue-18199.rs
index bc0c4a565..bc0c4a565 100644
--- a/src/test/rustdoc/issue-18199.rs
+++ b/tests/rustdoc/issue-18199.rs
diff --git a/src/test/rustdoc/issue-19181.rs b/tests/rustdoc/issue-19181.rs
index 3dea152fc..3dea152fc 100644
--- a/src/test/rustdoc/issue-19181.rs
+++ b/tests/rustdoc/issue-19181.rs
diff --git a/src/test/rustdoc/issue-19190-2.rs b/tests/rustdoc/issue-19190-2.rs
index b6416e2e5..b6416e2e5 100644
--- a/src/test/rustdoc/issue-19190-2.rs
+++ b/tests/rustdoc/issue-19190-2.rs
diff --git a/src/test/rustdoc/issue-19190-3.rs b/tests/rustdoc/issue-19190-3.rs
index 4d34ce650..4d34ce650 100644
--- a/src/test/rustdoc/issue-19190-3.rs
+++ b/tests/rustdoc/issue-19190-3.rs
diff --git a/src/test/rustdoc/issue-19190.rs b/tests/rustdoc/issue-19190.rs
index 2046273e2..2046273e2 100644
--- a/src/test/rustdoc/issue-19190.rs
+++ b/tests/rustdoc/issue-19190.rs
diff --git a/src/test/rustdoc/issue-20175.rs b/tests/rustdoc/issue-20175.rs
index 6a42e2afb..6a42e2afb 100644
--- a/src/test/rustdoc/issue-20175.rs
+++ b/tests/rustdoc/issue-20175.rs
diff --git a/src/test/rustdoc/issue-20646.rs b/tests/rustdoc/issue-20646.rs
index 2589e27f2..a774b0ca7 100644
--- a/src/test/rustdoc/issue-20646.rs
+++ b/tests/rustdoc/issue-20646.rs
@@ -13,7 +13,7 @@ pub trait Trait {
}
// @has issue_20646/fn.fun.html \
-// '//*[@class="rust fn"]' 'where T: Trait<Output = i32>'
+// '//div[@class="item-decl"]/pre[@class="rust"]' 'where T: Trait<Output = i32>'
pub fn fun<T>(_: T) where T: Trait<Output=i32> {}
pub mod reexport {
@@ -21,6 +21,6 @@ pub mod reexport {
// '//*[@id="associatedtype.Output"]' \
// 'type Output'
// @has issue_20646/reexport/fn.fun.html \
- // '//*[@class="rust fn"]' 'where T: Trait<Output = i32>'
+ // '//div[@class="item-decl"]/pre[@class="rust"]' 'where T: Trait<Output = i32>'
pub use issue_20646::{Trait, fun};
}
diff --git a/tests/rustdoc/issue-20727-2.rs b/tests/rustdoc/issue-20727-2.rs
new file mode 100644
index 000000000..026b4f5ac
--- /dev/null
+++ b/tests/rustdoc/issue-20727-2.rs
@@ -0,0 +1,22 @@
+// aux-build:issue-20727.rs
+// ignore-cross-compile
+
+extern crate issue_20727;
+
+// @has issue_20727_2/trait.Add.html
+pub trait Add<RHS = Self> {
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'trait Add<RHS = Self> {'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'type Output;'
+ type Output;
+
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'fn add(self, rhs: RHS) -> Self::Output;'
+ fn add(self, rhs: RHS) -> Self::Output;
+}
+
+// @has issue_20727_2/reexport/trait.Add.html
+pub mod reexport {
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'trait Add<RHS = Self> {'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'type Output;'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'fn add(self, rhs: RHS) -> Self::Output;'
+ pub use issue_20727::Add;
+}
diff --git a/tests/rustdoc/issue-20727-3.rs b/tests/rustdoc/issue-20727-3.rs
new file mode 100644
index 000000000..741ce8023
--- /dev/null
+++ b/tests/rustdoc/issue-20727-3.rs
@@ -0,0 +1,24 @@
+// aux-build:issue-20727.rs
+// ignore-cross-compile
+
+extern crate issue_20727;
+
+pub trait Bar {}
+
+// @has issue_20727_3/trait.Deref2.html
+pub trait Deref2 {
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'trait Deref2 {'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'type Target: Bar;'
+ type Target: Bar;
+
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'fn deref(&self) -> Self::Target;'
+ fn deref(&self) -> Self::Target;
+}
+
+// @has issue_20727_3/reexport/trait.Deref2.html
+pub mod reexport {
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'trait Deref2 {'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'type Target: Bar;'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'fn deref(&self) -> Self::Target;'
+ pub use issue_20727::Deref2;
+}
diff --git a/tests/rustdoc/issue-20727-4.rs b/tests/rustdoc/issue-20727-4.rs
new file mode 100644
index 000000000..b8fac4da6
--- /dev/null
+++ b/tests/rustdoc/issue-20727-4.rs
@@ -0,0 +1,40 @@
+// aux-build:issue-20727.rs
+// ignore-cross-compile
+
+extern crate issue_20727;
+
+// @has issue_20727_4/trait.Index.html
+pub trait Index<Idx: ?Sized> {
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'trait Index<Idx: ?Sized> {'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'type Output: ?Sized'
+ type Output: ?Sized;
+
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' \
+ // 'fn index(&self, index: Idx) -> &Self::Output'
+ fn index(&self, index: Idx) -> &Self::Output;
+}
+
+// @has issue_20727_4/trait.IndexMut.html
+pub trait IndexMut<Idx: ?Sized>: Index<Idx> {
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' \
+ // 'trait IndexMut<Idx: ?Sized>: Index<Idx> {'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' \
+ // 'fn index_mut(&mut self, index: Idx) -> &mut Self::Output;'
+ fn index_mut(&mut self, index: Idx) -> &mut Self::Output;
+}
+
+pub mod reexport {
+ // @has issue_20727_4/reexport/trait.Index.html
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'trait Index<Idx>where Idx: ?Sized,{'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'type Output: ?Sized'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' \
+ // 'fn index(&self, index: Idx) -> &Self::Output'
+ pub use issue_20727::Index;
+
+ // @has issue_20727_4/reexport/trait.IndexMut.html
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' \
+ // 'trait IndexMut<Idx>: Index<Idx>where Idx: ?Sized,{'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' \
+ // 'fn index_mut(&mut self, index: Idx) -> &mut Self::Output;'
+ pub use issue_20727::IndexMut;
+}
diff --git a/tests/rustdoc/issue-20727.rs b/tests/rustdoc/issue-20727.rs
new file mode 100644
index 000000000..df334821c
--- /dev/null
+++ b/tests/rustdoc/issue-20727.rs
@@ -0,0 +1,24 @@
+// aux-build:issue-20727.rs
+// ignore-cross-compile
+
+extern crate issue_20727;
+
+// @has issue_20727/trait.Deref.html
+pub trait Deref {
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'trait Deref {'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'type Target: ?Sized;'
+ type Target: ?Sized;
+
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' \
+ // "fn deref<'a>(&'a self) -> &'a Self::Target;"
+ fn deref<'a>(&'a self) -> &'a Self::Target;
+}
+
+// @has issue_20727/reexport/trait.Deref.html
+pub mod reexport {
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'trait Deref {'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'type Target: ?Sized;'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' \
+ // "fn deref<'a>(&'a self) -> &'a Self::Target;"
+ pub use issue_20727::Deref;
+}
diff --git a/src/test/rustdoc/issue-21092.rs b/tests/rustdoc/issue-21092.rs
index b054145a4..b054145a4 100644
--- a/src/test/rustdoc/issue-21092.rs
+++ b/tests/rustdoc/issue-21092.rs
diff --git a/src/test/rustdoc/issue-21474.rs b/tests/rustdoc/issue-21474.rs
index 43ce13fd9..43ce13fd9 100644
--- a/src/test/rustdoc/issue-21474.rs
+++ b/tests/rustdoc/issue-21474.rs
diff --git a/src/test/rustdoc/issue-21801.rs b/tests/rustdoc/issue-21801.rs
index 29d2ec64c..29d2ec64c 100644
--- a/src/test/rustdoc/issue-21801.rs
+++ b/tests/rustdoc/issue-21801.rs
diff --git a/src/test/rustdoc/issue-22025.rs b/tests/rustdoc/issue-22025.rs
index a721a15f4..a721a15f4 100644
--- a/src/test/rustdoc/issue-22025.rs
+++ b/tests/rustdoc/issue-22025.rs
diff --git a/tests/rustdoc/issue-22038.rs b/tests/rustdoc/issue-22038.rs
new file mode 100644
index 000000000..19e626ba1
--- /dev/null
+++ b/tests/rustdoc/issue-22038.rs
@@ -0,0 +1,19 @@
+extern "C" {
+ // @has issue_22038/fn.foo1.html \
+ // '//div[@class="item-decl"]/pre[@class="rust"]' 'pub unsafe extern "C" fn foo1()'
+ pub fn foo1();
+}
+
+extern "system" {
+ // @has issue_22038/fn.foo2.html \
+ // '//div[@class="item-decl"]/pre[@class="rust"]' 'pub unsafe extern "system" fn foo2()'
+ pub fn foo2();
+}
+
+// @has issue_22038/fn.bar.html \
+// '//div[@class="item-decl"]/pre[@class="rust"]' 'pub extern "C" fn bar()'
+pub extern "C" fn bar() {}
+
+// @has issue_22038/fn.baz.html \
+// '//div[@class="item-decl"]/pre[@class="rust"]' 'pub extern "system" fn baz()'
+pub extern "system" fn baz() {}
diff --git a/src/test/rustdoc/issue-23106.rs b/tests/rustdoc/issue-23106.rs
index 8cda2fc33..8cda2fc33 100644
--- a/src/test/rustdoc/issue-23106.rs
+++ b/tests/rustdoc/issue-23106.rs
diff --git a/src/test/rustdoc/issue-23207.rs b/tests/rustdoc/issue-23207.rs
index 1a4b849ee..1a4b849ee 100644
--- a/src/test/rustdoc/issue-23207.rs
+++ b/tests/rustdoc/issue-23207.rs
diff --git a/src/test/rustdoc/issue-23511.rs b/tests/rustdoc/issue-23511.rs
index 7576ebb03..7576ebb03 100644
--- a/src/test/rustdoc/issue-23511.rs
+++ b/tests/rustdoc/issue-23511.rs
diff --git a/src/test/rustdoc/issue-23744.rs b/tests/rustdoc/issue-23744.rs
index 642817396..642817396 100644
--- a/src/test/rustdoc/issue-23744.rs
+++ b/tests/rustdoc/issue-23744.rs
diff --git a/src/test/rustdoc/issue-23812.rs b/tests/rustdoc/issue-23812.rs
index 08fd1833b..08fd1833b 100644
--- a/src/test/rustdoc/issue-23812.rs
+++ b/tests/rustdoc/issue-23812.rs
diff --git a/src/test/rustdoc/issue-25001.rs b/tests/rustdoc/issue-25001.rs
index c97b35ada..c97b35ada 100644
--- a/src/test/rustdoc/issue-25001.rs
+++ b/tests/rustdoc/issue-25001.rs
diff --git a/src/test/rustdoc/issue-25944.rs b/tests/rustdoc/issue-25944.rs
index 49625294b..49625294b 100644
--- a/src/test/rustdoc/issue-25944.rs
+++ b/tests/rustdoc/issue-25944.rs
diff --git a/src/test/rustdoc/issue-26606.rs b/tests/rustdoc/issue-26606.rs
index d5cb2c710..d5cb2c710 100644
--- a/src/test/rustdoc/issue-26606.rs
+++ b/tests/rustdoc/issue-26606.rs
diff --git a/src/test/rustdoc/issue-26995.rs b/tests/rustdoc/issue-26995.rs
index fedc9f517..fedc9f517 100644
--- a/src/test/rustdoc/issue-26995.rs
+++ b/tests/rustdoc/issue-26995.rs
diff --git a/src/test/rustdoc/issue-27104.rs b/tests/rustdoc/issue-27104.rs
index 9f2fd9071..9f2fd9071 100644
--- a/src/test/rustdoc/issue-27104.rs
+++ b/tests/rustdoc/issue-27104.rs
diff --git a/src/test/rustdoc/issue-27362.rs b/tests/rustdoc/issue-27362.rs
index 097e4e3b0..097e4e3b0 100644
--- a/src/test/rustdoc/issue-27362.rs
+++ b/tests/rustdoc/issue-27362.rs
diff --git a/src/test/rustdoc/issue-27759.rs b/tests/rustdoc/issue-27759.rs
index 65e0f7cb8..65e0f7cb8 100644
--- a/src/test/rustdoc/issue-27759.rs
+++ b/tests/rustdoc/issue-27759.rs
diff --git a/src/test/rustdoc/issue-27862.rs b/tests/rustdoc/issue-27862.rs
index 77522f1be..77522f1be 100644
--- a/src/test/rustdoc/issue-27862.rs
+++ b/tests/rustdoc/issue-27862.rs
diff --git a/src/test/rustdoc/issue-28478.rs b/tests/rustdoc/issue-28478.rs
index 497276e68..497276e68 100644
--- a/src/test/rustdoc/issue-28478.rs
+++ b/tests/rustdoc/issue-28478.rs
diff --git a/src/test/rustdoc/issue-28927.rs b/tests/rustdoc/issue-28927.rs
index 38a520850..38a520850 100644
--- a/src/test/rustdoc/issue-28927.rs
+++ b/tests/rustdoc/issue-28927.rs
diff --git a/src/test/rustdoc/issue-29449.rs b/tests/rustdoc/issue-29449.rs
index 0d829cf6f..0d829cf6f 100644
--- a/src/test/rustdoc/issue-29449.rs
+++ b/tests/rustdoc/issue-29449.rs
diff --git a/src/test/rustdoc/issue-29503.rs b/tests/rustdoc/issue-29503.rs
index 01ae44385..01ae44385 100644
--- a/src/test/rustdoc/issue-29503.rs
+++ b/tests/rustdoc/issue-29503.rs
diff --git a/src/test/rustdoc/issue-29584.rs b/tests/rustdoc/issue-29584.rs
index 4364a9649..4364a9649 100644
--- a/src/test/rustdoc/issue-29584.rs
+++ b/tests/rustdoc/issue-29584.rs
diff --git a/src/test/rustdoc/issue-30109.rs b/tests/rustdoc/issue-30109.rs
index e9447538a..e9447538a 100644
--- a/src/test/rustdoc/issue-30109.rs
+++ b/tests/rustdoc/issue-30109.rs
diff --git a/src/test/rustdoc/issue-30252.rs b/tests/rustdoc/issue-30252.rs
index c3777362a..c3777362a 100644
--- a/src/test/rustdoc/issue-30252.rs
+++ b/tests/rustdoc/issue-30252.rs
diff --git a/src/test/rustdoc/issue-30366.rs b/tests/rustdoc/issue-30366.rs
index c6274a058..c6274a058 100644
--- a/src/test/rustdoc/issue-30366.rs
+++ b/tests/rustdoc/issue-30366.rs
diff --git a/src/test/rustdoc/issue-31808.rs b/tests/rustdoc/issue-31808.rs
index e55c5bd4f..e55c5bd4f 100644
--- a/src/test/rustdoc/issue-31808.rs
+++ b/tests/rustdoc/issue-31808.rs
diff --git a/src/test/rustdoc/issue-31899.rs b/tests/rustdoc/issue-31899.rs
index 3eee37446..3eee37446 100644
--- a/src/test/rustdoc/issue-31899.rs
+++ b/tests/rustdoc/issue-31899.rs
diff --git a/src/test/rustdoc/issue-32374.rs b/tests/rustdoc/issue-32374.rs
index 8d2c27cf3..8d2c27cf3 100644
--- a/src/test/rustdoc/issue-32374.rs
+++ b/tests/rustdoc/issue-32374.rs
diff --git a/src/test/rustdoc/issue-32395.rs b/tests/rustdoc/issue-32395.rs
index 5552300f9..5552300f9 100644
--- a/src/test/rustdoc/issue-32395.rs
+++ b/tests/rustdoc/issue-32395.rs
diff --git a/src/test/rustdoc/issue-32556.rs b/tests/rustdoc/issue-32556.rs
index e1cf11509..e1cf11509 100644
--- a/src/test/rustdoc/issue-32556.rs
+++ b/tests/rustdoc/issue-32556.rs
diff --git a/src/test/rustdoc/issue-32890.rs b/tests/rustdoc/issue-32890.rs
index 970954433..970954433 100644
--- a/src/test/rustdoc/issue-32890.rs
+++ b/tests/rustdoc/issue-32890.rs
diff --git a/src/test/rustdoc/issue-33069.rs b/tests/rustdoc/issue-33069.rs
index 0213a53ca..0213a53ca 100644
--- a/src/test/rustdoc/issue-33069.rs
+++ b/tests/rustdoc/issue-33069.rs
diff --git a/src/test/rustdoc/issue-33178-1.rs b/tests/rustdoc/issue-33178-1.rs
index 4dc425346..4dc425346 100644
--- a/src/test/rustdoc/issue-33178-1.rs
+++ b/tests/rustdoc/issue-33178-1.rs
diff --git a/src/test/rustdoc/issue-33178.rs b/tests/rustdoc/issue-33178.rs
index 1f45fe723..1f45fe723 100644
--- a/src/test/rustdoc/issue-33178.rs
+++ b/tests/rustdoc/issue-33178.rs
diff --git a/src/test/rustdoc/issue-33302.rs b/tests/rustdoc/issue-33302.rs
index 1e4791e01..b4c52e2f1 100644
--- a/src/test/rustdoc/issue-33302.rs
+++ b/tests/rustdoc/issue-33302.rs
@@ -6,17 +6,17 @@ macro_rules! make {
pub struct S;
// @has issue_33302/constant.CST.html \
- // '//pre[@class="rust const"]' 'pub const CST: i32'
+ // '//div[@class="item-decl"]/pre[@class="rust"]' 'pub const CST: i32'
pub const CST: i32 = ($n * $n);
// @has issue_33302/static.ST.html \
- // '//pre[@class="rust static"]' 'pub static ST: i32'
+ // '//div[@class="item-decl"]/pre[@class="rust"]' 'pub static ST: i32'
pub static ST: i32 = ($n * $n);
pub trait T<X> {
fn ignore(_: &X) {}
const C: X;
// @has issue_33302/trait.T.html \
- // '//*[@class="rust trait"]' 'const D: i32'
+ // '//div[@class="item-decl"]/pre[@class="rust"]' 'const D: i32'
// @has - '//*[@id="associatedconstant.D"]' 'const D: i32'
const D: i32 = ($n * $n);
}
diff --git a/src/test/rustdoc/issue-33592.rs b/tests/rustdoc/issue-33592.rs
index 7a128f0b8..7a128f0b8 100644
--- a/src/test/rustdoc/issue-33592.rs
+++ b/tests/rustdoc/issue-33592.rs
diff --git a/src/test/rustdoc/issue-34025.rs b/tests/rustdoc/issue-34025.rs
index 9b9f21cb3..9b9f21cb3 100644
--- a/src/test/rustdoc/issue-34025.rs
+++ b/tests/rustdoc/issue-34025.rs
diff --git a/src/test/rustdoc/issue-34274.rs b/tests/rustdoc/issue-34274.rs
index ce5be84a5..ce5be84a5 100644
--- a/src/test/rustdoc/issue-34274.rs
+++ b/tests/rustdoc/issue-34274.rs
diff --git a/src/test/rustdoc/issue-34423.rs b/tests/rustdoc/issue-34423.rs
index b429bf8c9..b429bf8c9 100644
--- a/src/test/rustdoc/issue-34423.rs
+++ b/tests/rustdoc/issue-34423.rs
diff --git a/src/test/rustdoc/issue-34473.rs b/tests/rustdoc/issue-34473.rs
index 37da3dd19..37da3dd19 100644
--- a/src/test/rustdoc/issue-34473.rs
+++ b/tests/rustdoc/issue-34473.rs
diff --git a/src/test/rustdoc/issue-34928.rs b/tests/rustdoc/issue-34928.rs
index 91b677574..91b677574 100644
--- a/src/test/rustdoc/issue-34928.rs
+++ b/tests/rustdoc/issue-34928.rs
diff --git a/src/test/rustdoc/issue-35169-2.rs b/tests/rustdoc/issue-35169-2.rs
index f08466baf..f08466baf 100644
--- a/src/test/rustdoc/issue-35169-2.rs
+++ b/tests/rustdoc/issue-35169-2.rs
diff --git a/src/test/rustdoc/issue-35169.rs b/tests/rustdoc/issue-35169.rs
index 70a2265c8..70a2265c8 100644
--- a/src/test/rustdoc/issue-35169.rs
+++ b/tests/rustdoc/issue-35169.rs
diff --git a/src/test/rustdoc/issue-35488.rs b/tests/rustdoc/issue-35488.rs
index c1bf9ceea..c1bf9ceea 100644
--- a/src/test/rustdoc/issue-35488.rs
+++ b/tests/rustdoc/issue-35488.rs
diff --git a/src/test/rustdoc/issue-36031.rs b/tests/rustdoc/issue-36031.rs
index af1b32fd2..af1b32fd2 100644
--- a/src/test/rustdoc/issue-36031.rs
+++ b/tests/rustdoc/issue-36031.rs
diff --git a/src/test/rustdoc/issue-38129.rs b/tests/rustdoc/issue-38129.rs
index 156d50fa5..156d50fa5 100644
--- a/src/test/rustdoc/issue-38129.rs
+++ b/tests/rustdoc/issue-38129.rs
diff --git a/src/test/rustdoc/issue-38219.rs b/tests/rustdoc/issue-38219.rs
index fa57c58c7..fa57c58c7 100644
--- a/src/test/rustdoc/issue-38219.rs
+++ b/tests/rustdoc/issue-38219.rs
diff --git a/src/test/rustdoc/issue-40936.rs b/tests/rustdoc/issue-40936.rs
index 4d2e4c17b..4d2e4c17b 100644
--- a/src/test/rustdoc/issue-40936.rs
+++ b/tests/rustdoc/issue-40936.rs
diff --git a/src/test/rustdoc/issue-41783.codeblock.html b/tests/rustdoc/issue-41783.codeblock.html
index 3bca4536c..3bca4536c 100644
--- a/src/test/rustdoc/issue-41783.codeblock.html
+++ b/tests/rustdoc/issue-41783.codeblock.html
diff --git a/src/test/rustdoc/issue-41783.rs b/tests/rustdoc/issue-41783.rs
index 769f984a2..7578d49da 100644
--- a/src/test/rustdoc/issue-41783.rs
+++ b/tests/rustdoc/issue-41783.rs
@@ -5,7 +5,7 @@
// @!hasraw - '<span class="attr">#[outer]</span>'
// @hasraw - '#![inner]</span>'
// @!hasraw - '<span class="attr">#![inner]</span>'
-// @snapshot 'codeblock' - '//*[@class="rustdoc-toggle top-doc"]/*[@class="docblock"]//pre/code'
+// @snapshot 'codeblock' - '//*[@class="toggle top-doc"]/*[@class="docblock"]//pre/code'
/// ```no_run
/// # # space
diff --git a/src/test/rustdoc/issue-42760.rs b/tests/rustdoc/issue-42760.rs
index a5394c7d9..a5394c7d9 100644
--- a/src/test/rustdoc/issue-42760.rs
+++ b/tests/rustdoc/issue-42760.rs
diff --git a/src/test/rustdoc/issue-43153.rs b/tests/rustdoc/issue-43153.rs
index 0fe680f10..0fe680f10 100644
--- a/src/test/rustdoc/issue-43153.rs
+++ b/tests/rustdoc/issue-43153.rs
diff --git a/src/test/rustdoc/issue-43701.rs b/tests/rustdoc/issue-43701.rs
index 44335e961..44335e961 100644
--- a/src/test/rustdoc/issue-43701.rs
+++ b/tests/rustdoc/issue-43701.rs
diff --git a/src/test/rustdoc/issue-43869.rs b/tests/rustdoc/issue-43869.rs
index 767d09d85..767d09d85 100644
--- a/src/test/rustdoc/issue-43869.rs
+++ b/tests/rustdoc/issue-43869.rs
diff --git a/src/test/rustdoc/issue-43893.rs b/tests/rustdoc/issue-43893.rs
index 95d551934..95d551934 100644
--- a/src/test/rustdoc/issue-43893.rs
+++ b/tests/rustdoc/issue-43893.rs
diff --git a/src/test/rustdoc/issue-45584.rs b/tests/rustdoc/issue-45584.rs
index 86479e6fb..86479e6fb 100644
--- a/src/test/rustdoc/issue-45584.rs
+++ b/tests/rustdoc/issue-45584.rs
diff --git a/src/test/rustdoc/issue-46271.rs b/tests/rustdoc/issue-46271.rs
index b38ef20c5..b38ef20c5 100644
--- a/src/test/rustdoc/issue-46271.rs
+++ b/tests/rustdoc/issue-46271.rs
diff --git a/src/test/rustdoc/issue-46377.rs b/tests/rustdoc/issue-46377.rs
index 4489f038c..4489f038c 100644
--- a/src/test/rustdoc/issue-46377.rs
+++ b/tests/rustdoc/issue-46377.rs
diff --git a/src/test/rustdoc/issue-46380-2.rs b/tests/rustdoc/issue-46380-2.rs
index 7004d18dc..7004d18dc 100644
--- a/src/test/rustdoc/issue-46380-2.rs
+++ b/tests/rustdoc/issue-46380-2.rs
diff --git a/src/test/rustdoc/issue-46727.rs b/tests/rustdoc/issue-46727.rs
index 8cfc4827a..8cfc4827a 100644
--- a/src/test/rustdoc/issue-46727.rs
+++ b/tests/rustdoc/issue-46727.rs
diff --git a/src/test/rustdoc/issue-46766.rs b/tests/rustdoc/issue-46766.rs
index 36ab73956..36ab73956 100644
--- a/src/test/rustdoc/issue-46766.rs
+++ b/tests/rustdoc/issue-46766.rs
diff --git a/src/test/rustdoc/issue-46767.rs b/tests/rustdoc/issue-46767.rs
index ef6ed104b..ef6ed104b 100644
--- a/src/test/rustdoc/issue-46767.rs
+++ b/tests/rustdoc/issue-46767.rs
diff --git a/src/test/rustdoc/issue-46976.rs b/tests/rustdoc/issue-46976.rs
index c59f8c72e..c59f8c72e 100644
--- a/src/test/rustdoc/issue-46976.rs
+++ b/tests/rustdoc/issue-46976.rs
diff --git a/src/test/rustdoc/issue-47038.rs b/tests/rustdoc/issue-47038.rs
index 810ddca3e..810ddca3e 100644
--- a/src/test/rustdoc/issue-47038.rs
+++ b/tests/rustdoc/issue-47038.rs
diff --git a/src/test/rustdoc/issue-47197-blank-line-in-doc-block.rs b/tests/rustdoc/issue-47197-blank-line-in-doc-block.rs
index 19994475d..19994475d 100644
--- a/src/test/rustdoc/issue-47197-blank-line-in-doc-block.rs
+++ b/tests/rustdoc/issue-47197-blank-line-in-doc-block.rs
diff --git a/src/test/rustdoc/issue-47639.rs b/tests/rustdoc/issue-47639.rs
index 4b3456b86..4b3456b86 100644
--- a/src/test/rustdoc/issue-47639.rs
+++ b/tests/rustdoc/issue-47639.rs
diff --git a/src/test/rustdoc/issue-48377.rs b/tests/rustdoc/issue-48377.rs
index c32bcf380..c32bcf380 100644
--- a/src/test/rustdoc/issue-48377.rs
+++ b/tests/rustdoc/issue-48377.rs
diff --git a/src/test/rustdoc/issue-48414.rs b/tests/rustdoc/issue-48414.rs
index b35743d88..b35743d88 100644
--- a/src/test/rustdoc/issue-48414.rs
+++ b/tests/rustdoc/issue-48414.rs
diff --git a/src/test/rustdoc/issue-50159.rs b/tests/rustdoc/issue-50159.rs
index 04bc4f304..04bc4f304 100644
--- a/src/test/rustdoc/issue-50159.rs
+++ b/tests/rustdoc/issue-50159.rs
diff --git a/src/test/rustdoc/issue-51236.rs b/tests/rustdoc/issue-51236.rs
index 1c7aa9c7e..1c7aa9c7e 100644
--- a/src/test/rustdoc/issue-51236.rs
+++ b/tests/rustdoc/issue-51236.rs
diff --git a/src/test/rustdoc/issue-52873.rs b/tests/rustdoc/issue-52873.rs
index 8000ce73b..8000ce73b 100644
--- a/src/test/rustdoc/issue-52873.rs
+++ b/tests/rustdoc/issue-52873.rs
diff --git a/src/test/rustdoc/issue-53689.rs b/tests/rustdoc/issue-53689.rs
index 832140e06..832140e06 100644
--- a/src/test/rustdoc/issue-53689.rs
+++ b/tests/rustdoc/issue-53689.rs
diff --git a/src/test/rustdoc/issue-53812.rs b/tests/rustdoc/issue-53812.rs
index c68ffd521..c68ffd521 100644
--- a/src/test/rustdoc/issue-53812.rs
+++ b/tests/rustdoc/issue-53812.rs
diff --git a/src/test/rustdoc/issue-54478-demo-allocator.rs b/tests/rustdoc/issue-54478-demo-allocator.rs
index 4811f363b..4811f363b 100644
--- a/src/test/rustdoc/issue-54478-demo-allocator.rs
+++ b/tests/rustdoc/issue-54478-demo-allocator.rs
diff --git a/src/test/rustdoc/issue-54705.rs b/tests/rustdoc/issue-54705.rs
index 7b7290ab4..7b7290ab4 100644
--- a/src/test/rustdoc/issue-54705.rs
+++ b/tests/rustdoc/issue-54705.rs
diff --git a/src/test/rustdoc/issue-55001.rs b/tests/rustdoc/issue-55001.rs
index f6c7f9a3d..f6c7f9a3d 100644
--- a/src/test/rustdoc/issue-55001.rs
+++ b/tests/rustdoc/issue-55001.rs
diff --git a/src/test/rustdoc/issue-55321.rs b/tests/rustdoc/issue-55321.rs
index 22a18ef90..22a18ef90 100644
--- a/src/test/rustdoc/issue-55321.rs
+++ b/tests/rustdoc/issue-55321.rs
diff --git a/src/test/rustdoc/issue-55364.rs b/tests/rustdoc/issue-55364.rs
index 14a6f5041..14a6f5041 100644
--- a/src/test/rustdoc/issue-55364.rs
+++ b/tests/rustdoc/issue-55364.rs
diff --git a/src/test/rustdoc/issue-56701.rs b/tests/rustdoc/issue-56701.rs
index ba00743fc..ba00743fc 100644
--- a/src/test/rustdoc/issue-56701.rs
+++ b/tests/rustdoc/issue-56701.rs
diff --git a/src/test/rustdoc/issue-56822.rs b/tests/rustdoc/issue-56822.rs
index b4eef344b..b4eef344b 100644
--- a/src/test/rustdoc/issue-56822.rs
+++ b/tests/rustdoc/issue-56822.rs
diff --git a/src/test/rustdoc/issue-57180.rs b/tests/rustdoc/issue-57180.rs
index 14bd2b0fe..14bd2b0fe 100644
--- a/src/test/rustdoc/issue-57180.rs
+++ b/tests/rustdoc/issue-57180.rs
diff --git a/src/test/rustdoc/issue-60482.rs b/tests/rustdoc/issue-60482.rs
index 0fd1daa74..0fd1daa74 100644
--- a/src/test/rustdoc/issue-60482.rs
+++ b/tests/rustdoc/issue-60482.rs
diff --git a/src/test/rustdoc/issue-60726.rs b/tests/rustdoc/issue-60726.rs
index fbb0f82ae..fbb0f82ae 100644
--- a/src/test/rustdoc/issue-60726.rs
+++ b/tests/rustdoc/issue-60726.rs
diff --git a/src/test/rustdoc/issue-61592.rs b/tests/rustdoc/issue-61592.rs
index 4b6c37b94..4b6c37b94 100644
--- a/src/test/rustdoc/issue-61592.rs
+++ b/tests/rustdoc/issue-61592.rs
diff --git a/src/test/rustdoc/issue-67851-both.rs b/tests/rustdoc/issue-67851-both.rs
index d69b94317..d69b94317 100644
--- a/src/test/rustdoc/issue-67851-both.rs
+++ b/tests/rustdoc/issue-67851-both.rs
diff --git a/src/test/rustdoc/issue-67851-hidden.rs b/tests/rustdoc/issue-67851-hidden.rs
index 8a3cafe4c..8a3cafe4c 100644
--- a/src/test/rustdoc/issue-67851-hidden.rs
+++ b/tests/rustdoc/issue-67851-hidden.rs
diff --git a/src/test/rustdoc/issue-67851-neither.rs b/tests/rustdoc/issue-67851-neither.rs
index 4e3cd8328..4e3cd8328 100644
--- a/src/test/rustdoc/issue-67851-neither.rs
+++ b/tests/rustdoc/issue-67851-neither.rs
diff --git a/src/test/rustdoc/issue-67851-private.rs b/tests/rustdoc/issue-67851-private.rs
index 8addc7f3e..8addc7f3e 100644
--- a/src/test/rustdoc/issue-67851-private.rs
+++ b/tests/rustdoc/issue-67851-private.rs
diff --git a/src/test/rustdoc/issue-72340.rs b/tests/rustdoc/issue-72340.rs
index 64044cfe9..64044cfe9 100644
--- a/src/test/rustdoc/issue-72340.rs
+++ b/tests/rustdoc/issue-72340.rs
diff --git a/src/test/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs b/tests/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs
index 2700f2370..2700f2370 100644
--- a/src/test/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs
+++ b/tests/rustdoc/issue-73061-cross-crate-opaque-assoc-type.rs
diff --git a/src/test/rustdoc/issue-74083.rs b/tests/rustdoc/issue-74083.rs
index c7f5d7eaa..c7f5d7eaa 100644
--- a/src/test/rustdoc/issue-74083.rs
+++ b/tests/rustdoc/issue-74083.rs
diff --git a/src/test/rustdoc/issue-75588.rs b/tests/rustdoc/issue-75588.rs
index 3b11059a7..3b11059a7 100644
--- a/src/test/rustdoc/issue-75588.rs
+++ b/tests/rustdoc/issue-75588.rs
diff --git a/src/test/rustdoc/issue-76501.rs b/tests/rustdoc/issue-76501.rs
index a90e0fea0..a90e0fea0 100644
--- a/src/test/rustdoc/issue-76501.rs
+++ b/tests/rustdoc/issue-76501.rs
diff --git a/src/test/rustdoc/issue-78673.rs b/tests/rustdoc/issue-78673.rs
index 2e4bec254..2e4bec254 100644
--- a/src/test/rustdoc/issue-78673.rs
+++ b/tests/rustdoc/issue-78673.rs
diff --git a/src/test/rustdoc/issue-78701.rs b/tests/rustdoc/issue-78701.rs
index e3e46468f..e3e46468f 100644
--- a/src/test/rustdoc/issue-78701.rs
+++ b/tests/rustdoc/issue-78701.rs
diff --git a/src/test/rustdoc/issue-79201.rs b/tests/rustdoc/issue-79201.rs
index f95d79cd4..f95d79cd4 100644
--- a/src/test/rustdoc/issue-79201.rs
+++ b/tests/rustdoc/issue-79201.rs
diff --git a/src/test/rustdoc/issue-80233-normalize-auto-trait.rs b/tests/rustdoc/issue-80233-normalize-auto-trait.rs
index 62fbc2444..62fbc2444 100644
--- a/src/test/rustdoc/issue-80233-normalize-auto-trait.rs
+++ b/tests/rustdoc/issue-80233-normalize-auto-trait.rs
diff --git a/src/test/rustdoc/issue-82465-asref-for-and-of-local.rs b/tests/rustdoc/issue-82465-asref-for-and-of-local.rs
index adf4d111a..adf4d111a 100644
--- a/src/test/rustdoc/issue-82465-asref-for-and-of-local.rs
+++ b/tests/rustdoc/issue-82465-asref-for-and-of-local.rs
diff --git a/src/test/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline-last-item.rs b/tests/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline-last-item.rs
index d3a7a870b..d3a7a870b 100644
--- a/src/test/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline-last-item.rs
+++ b/tests/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline-last-item.rs
diff --git a/src/test/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline.rs b/tests/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline.rs
index b83692509..b83692509 100644
--- a/src/test/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline.rs
+++ b/tests/rustdoc/issue-83375-multiple-mods-w-same-name-doc-inline.rs
diff --git a/tests/rustdoc/issue-85454.rs b/tests/rustdoc/issue-85454.rs
new file mode 100644
index 000000000..74fc22b31
--- /dev/null
+++ b/tests/rustdoc/issue-85454.rs
@@ -0,0 +1,29 @@
+// aux-build:issue-85454.rs
+// build-aux-docs
+#![crate_name = "foo"]
+
+extern crate issue_85454;
+
+// @has foo/trait.FromResidual.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub trait FromResidual<R = <Self as Try>::Residual> { fn from_residual(residual: R) -> Self; }'
+pub trait FromResidual<R = <Self as Try>::Residual> {
+ fn from_residual(residual: R) -> Self;
+}
+
+pub trait Try: FromResidual {
+ type Output;
+ type Residual;
+ fn from_output(output: Self::Output) -> Self;
+ fn branch(self) -> ControlFlow<Self::Residual, Self::Output>;
+}
+
+pub enum ControlFlow<B, C = ()> {
+ Continue(C),
+ Break(B),
+}
+
+pub mod reexport {
+ // @has foo/reexport/trait.FromResidual.html
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub trait FromResidual<R = <Self as Try>::Residual> { fn from_residual(residual: R) -> Self; }'
+ pub use issue_85454::*;
+}
diff --git a/src/test/rustdoc/issue-86620.rs b/tests/rustdoc/issue-86620.rs
index ef15946ec..ef15946ec 100644
--- a/src/test/rustdoc/issue-86620.rs
+++ b/tests/rustdoc/issue-86620.rs
diff --git a/src/test/rustdoc/issue-88600.rs b/tests/rustdoc/issue-88600.rs
index db0d102b7..db0d102b7 100644
--- a/src/test/rustdoc/issue-88600.rs
+++ b/tests/rustdoc/issue-88600.rs
diff --git a/src/test/rustdoc/issue-89309-heading-levels.rs b/tests/rustdoc/issue-89309-heading-levels.rs
index bb706c28f..bb706c28f 100644
--- a/src/test/rustdoc/issue-89309-heading-levels.rs
+++ b/tests/rustdoc/issue-89309-heading-levels.rs
diff --git a/src/test/rustdoc/issue-89852.rs b/tests/rustdoc/issue-89852.rs
index 4f2da5e07..4f2da5e07 100644
--- a/src/test/rustdoc/issue-89852.rs
+++ b/tests/rustdoc/issue-89852.rs
diff --git a/src/test/rustdoc/issue-95633.rs b/tests/rustdoc/issue-95633.rs
index a71d0a037..a71d0a037 100644
--- a/src/test/rustdoc/issue-95633.rs
+++ b/tests/rustdoc/issue-95633.rs
diff --git a/src/test/rustdoc/issue-95873.rs b/tests/rustdoc/issue-95873.rs
index ff33fb63a..ff33fb63a 100644
--- a/src/test/rustdoc/issue-95873.rs
+++ b/tests/rustdoc/issue-95873.rs
diff --git a/src/test/rustdoc/issue-96381.rs b/tests/rustdoc/issue-96381.rs
index f0f123f85..f0f123f85 100644
--- a/src/test/rustdoc/issue-96381.rs
+++ b/tests/rustdoc/issue-96381.rs
diff --git a/src/test/rustdoc/issue-98697.rs b/tests/rustdoc/issue-98697.rs
index d50268509..884b63ac9 100644
--- a/src/test/rustdoc/issue-98697.rs
+++ b/tests/rustdoc/issue-98697.rs
@@ -8,8 +8,8 @@
extern crate issue_98697_reexport_with_anonymous_lifetime;
-// @has issue_98697/fn.repro.html '//pre[@class="rust fn"]/code' 'fn repro<F>()where F: Fn(&str)'
-// @!has issue_98697/fn.repro.html '//pre[@class="rust fn"]/code' 'for<'
+// @has issue_98697/fn.repro.html '//div[@class="item-decl"]/pre[@class="rust"]/code' 'fn repro<F>()where F: Fn(&str)'
+// @!has issue_98697/fn.repro.html '//div[@class="item-decl"]/pre[@class="rust"]/code' 'for<'
pub use issue_98697_reexport_with_anonymous_lifetime::repro;
// @has issue_98697/struct.Extra.html '//div[@id="trait-implementations-list"]//h3[@class="code-header"]' 'impl MyTrait<&Extra> for Extra'
diff --git a/src/test/rustdoc/issue-99221-multiple-macro-rules-w-same-name-submodule.rs b/tests/rustdoc/issue-99221-multiple-macro-rules-w-same-name-submodule.rs
index e74881d38..e74881d38 100644
--- a/src/test/rustdoc/issue-99221-multiple-macro-rules-w-same-name-submodule.rs
+++ b/tests/rustdoc/issue-99221-multiple-macro-rules-w-same-name-submodule.rs
diff --git a/src/test/rustdoc/issue-99221-multiple-macro-rules-w-same-name.rs b/tests/rustdoc/issue-99221-multiple-macro-rules-w-same-name.rs
index 46d59654b..46d59654b 100644
--- a/src/test/rustdoc/issue-99221-multiple-macro-rules-w-same-name.rs
+++ b/tests/rustdoc/issue-99221-multiple-macro-rules-w-same-name.rs
diff --git a/src/test/rustdoc/issue-99221-multiple-structs-w-same-name.rs b/tests/rustdoc/issue-99221-multiple-structs-w-same-name.rs
index 41e64726a..41e64726a 100644
--- a/src/test/rustdoc/issue-99221-multiple-structs-w-same-name.rs
+++ b/tests/rustdoc/issue-99221-multiple-structs-w-same-name.rs
diff --git a/src/test/rustdoc/issue-99734-multiple-foreigns-w-same-name.rs b/tests/rustdoc/issue-99734-multiple-foreigns-w-same-name.rs
index 3208fea05..3208fea05 100644
--- a/src/test/rustdoc/issue-99734-multiple-foreigns-w-same-name.rs
+++ b/tests/rustdoc/issue-99734-multiple-foreigns-w-same-name.rs
diff --git a/src/test/rustdoc/issue-99734-multiple-mods-w-same-name.rs b/tests/rustdoc/issue-99734-multiple-mods-w-same-name.rs
index b2f9b8b46..b2f9b8b46 100644
--- a/src/test/rustdoc/issue-99734-multiple-mods-w-same-name.rs
+++ b/tests/rustdoc/issue-99734-multiple-mods-w-same-name.rs
diff --git a/src/test/rustdoc/keyword.rs b/tests/rustdoc/keyword.rs
index ea1273850..4d047af32 100644
--- a/src/test/rustdoc/keyword.rs
+++ b/tests/rustdoc/keyword.rs
@@ -7,7 +7,7 @@
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a' 'Keywords'
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a/@href' '#keywords'
// @has foo/keyword.match.html '//a[@class="keyword"]' 'match'
-// @has foo/keyword.match.html '//h1[@class="fqn"]' 'Keyword match'
+// @has foo/keyword.match.html '//h1' 'Keyword match'
// @has foo/keyword.match.html '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has foo/index.html '//a/@href' '../foo/index.html'
// @!has foo/foo/index.html
diff --git a/tests/rustdoc/legacy-const-generic.rs b/tests/rustdoc/legacy-const-generic.rs
new file mode 100644
index 000000000..14533624e
--- /dev/null
+++ b/tests/rustdoc/legacy-const-generic.rs
@@ -0,0 +1,16 @@
+#![crate_name = "foo"]
+#![feature(rustc_attrs)]
+
+// @has 'foo/fn.foo.html'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'fn foo(x: usize, const Y: usize, z: usize) -> [usize; 3]'
+#[rustc_legacy_const_generics(1)]
+pub fn foo<const Y: usize>(x: usize, z: usize) -> [usize; 3] {
+ [x, Y, z]
+}
+
+// @has 'foo/fn.bar.html'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'fn bar(x: usize, const Y: usize, const Z: usize) -> [usize; 3]'
+#[rustc_legacy_const_generics(1, 2)]
+pub fn bar<const Y: usize, const Z: usize>(x: usize) -> [usize; 3] {
+ [x, Y, z]
+}
diff --git a/tests/rustdoc/lifetime-name.rs b/tests/rustdoc/lifetime-name.rs
new file mode 100644
index 000000000..0fb660591
--- /dev/null
+++ b/tests/rustdoc/lifetime-name.rs
@@ -0,0 +1,5 @@
+#![crate_name = "foo"]
+
+// @has 'foo/type.Resolutions.html'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "pub type Resolutions<'tcx> = &'tcx u8;"
+pub type Resolutions<'tcx> = &'tcx u8;
diff --git a/src/test/rustdoc/line-breaks.rs b/tests/rustdoc/line-breaks.rs
index 29c16fcd4..29c16fcd4 100644
--- a/src/test/rustdoc/line-breaks.rs
+++ b/tests/rustdoc/line-breaks.rs
diff --git a/src/test/rustdoc/link-assoc-const.rs b/tests/rustdoc/link-assoc-const.rs
index 75a2531a3..75a2531a3 100644
--- a/src/test/rustdoc/link-assoc-const.rs
+++ b/tests/rustdoc/link-assoc-const.rs
diff --git a/src/test/rustdoc/link-title-escape.rs b/tests/rustdoc/link-title-escape.rs
index 7a322ea6d..7a322ea6d 100644
--- a/src/test/rustdoc/link-title-escape.rs
+++ b/tests/rustdoc/link-title-escape.rs
diff --git a/src/test/rustdoc/local-reexport-doc.rs b/tests/rustdoc/local-reexport-doc.rs
index 1c8468008..5dc857773 100644
--- a/src/test/rustdoc/local-reexport-doc.rs
+++ b/tests/rustdoc/local-reexport-doc.rs
@@ -4,7 +4,7 @@
#![crate_name = "foo"]
// @has 'foo/fn.g.html'
-// @has - '//*[@class="rustdoc-toggle top-doc"]/*[@class="docblock"]' \
+// @has - '//*[@class="toggle top-doc"]/*[@class="docblock"]' \
// 'outer module inner module'
mod inner_mod {
diff --git a/src/test/rustdoc/logo-class-default.rs b/tests/rustdoc/logo-class-default.rs
index d2d439199..d2d439199 100644
--- a/src/test/rustdoc/logo-class-default.rs
+++ b/tests/rustdoc/logo-class-default.rs
diff --git a/src/test/rustdoc/logo-class.rs b/tests/rustdoc/logo-class.rs
index d3aa446da..d3aa446da 100644
--- a/src/test/rustdoc/logo-class.rs
+++ b/tests/rustdoc/logo-class.rs
diff --git a/src/test/rustdoc/macro-document-private-duplicate.rs b/tests/rustdoc/macro-document-private-duplicate.rs
index d3cf7e140..d3cf7e140 100644
--- a/src/test/rustdoc/macro-document-private-duplicate.rs
+++ b/tests/rustdoc/macro-document-private-duplicate.rs
diff --git a/src/test/rustdoc/macro-document-private.rs b/tests/rustdoc/macro-document-private.rs
index d2496913f..d2496913f 100644
--- a/src/test/rustdoc/macro-document-private.rs
+++ b/tests/rustdoc/macro-document-private.rs
diff --git a/src/test/rustdoc/macro-generated-macro.macro_linebreak_pre.html b/tests/rustdoc/macro-generated-macro.macro_linebreak_pre.html
index ce5d3a846..ce5d3a846 100644
--- a/src/test/rustdoc/macro-generated-macro.macro_linebreak_pre.html
+++ b/tests/rustdoc/macro-generated-macro.macro_linebreak_pre.html
diff --git a/src/test/rustdoc/macro-generated-macro.macro_morestuff_pre.html b/tests/rustdoc/macro-generated-macro.macro_morestuff_pre.html
index 28f15522a..28f15522a 100644
--- a/src/test/rustdoc/macro-generated-macro.macro_morestuff_pre.html
+++ b/tests/rustdoc/macro-generated-macro.macro_morestuff_pre.html
diff --git a/src/test/rustdoc/macro-generated-macro.rs b/tests/rustdoc/macro-generated-macro.rs
index 1a423cac1..1a423cac1 100644
--- a/src/test/rustdoc/macro-generated-macro.rs
+++ b/tests/rustdoc/macro-generated-macro.rs
diff --git a/src/test/rustdoc/macro-higher-kinded-function.rs b/tests/rustdoc/macro-higher-kinded-function.rs
index b8c52b7b7..b8c52b7b7 100644
--- a/src/test/rustdoc/macro-higher-kinded-function.rs
+++ b/tests/rustdoc/macro-higher-kinded-function.rs
diff --git a/src/test/rustdoc/macro-in-async-block.rs b/tests/rustdoc/macro-in-async-block.rs
index b4aaacf7b..b4aaacf7b 100644
--- a/src/test/rustdoc/macro-in-async-block.rs
+++ b/tests/rustdoc/macro-in-async-block.rs
diff --git a/src/test/rustdoc/macro-in-closure.rs b/tests/rustdoc/macro-in-closure.rs
index b4411d927..b4411d927 100644
--- a/src/test/rustdoc/macro-in-closure.rs
+++ b/tests/rustdoc/macro-in-closure.rs
diff --git a/src/test/rustdoc/macro-indirect-use.rs b/tests/rustdoc/macro-indirect-use.rs
index b2d9336cf..b2d9336cf 100644
--- a/src/test/rustdoc/macro-indirect-use.rs
+++ b/tests/rustdoc/macro-indirect-use.rs
diff --git a/src/test/rustdoc/macro-private-not-documented.rs b/tests/rustdoc/macro-private-not-documented.rs
index f135a3a9c..f135a3a9c 100644
--- a/src/test/rustdoc/macro-private-not-documented.rs
+++ b/tests/rustdoc/macro-private-not-documented.rs
diff --git a/src/test/rustdoc/macro_pub_in_module.rs b/tests/rustdoc/macro_pub_in_module.rs
index 4fd85d689..4fd85d689 100644
--- a/src/test/rustdoc/macro_pub_in_module.rs
+++ b/tests/rustdoc/macro_pub_in_module.rs
diff --git a/src/test/rustdoc/macro_rules-matchers.rs b/tests/rustdoc/macro_rules-matchers.rs
index 96f4126c7..96f4126c7 100644
--- a/src/test/rustdoc/macro_rules-matchers.rs
+++ b/tests/rustdoc/macro_rules-matchers.rs
diff --git a/src/test/rustdoc/macros.rs b/tests/rustdoc/macros.rs
index ae0cf7a14..ae0cf7a14 100644
--- a/src/test/rustdoc/macros.rs
+++ b/tests/rustdoc/macros.rs
diff --git a/src/test/rustdoc/manual_impl.rs b/tests/rustdoc/manual_impl.rs
index b2ee077bc..b2ee077bc 100644
--- a/src/test/rustdoc/manual_impl.rs
+++ b/tests/rustdoc/manual_impl.rs
diff --git a/src/test/rustdoc/markdown-summaries.rs b/tests/rustdoc/markdown-summaries.rs
index 31e7072b5..31e7072b5 100644
--- a/src/test/rustdoc/markdown-summaries.rs
+++ b/tests/rustdoc/markdown-summaries.rs
diff --git a/src/test/rustdoc/masked.rs b/tests/rustdoc/masked.rs
index 875c026fd..875c026fd 100644
--- a/src/test/rustdoc/masked.rs
+++ b/tests/rustdoc/masked.rs
diff --git a/src/test/rustdoc/method-list.rs b/tests/rustdoc/method-list.rs
index 50f4af3aa..50f4af3aa 100644
--- a/src/test/rustdoc/method-list.rs
+++ b/tests/rustdoc/method-list.rs
diff --git a/src/test/rustdoc/mixing-doc-comments-and-attrs.S1_top-doc.html b/tests/rustdoc/mixing-doc-comments-and-attrs.S1_top-doc.html
index 8ff114b99..8ff114b99 100644
--- a/src/test/rustdoc/mixing-doc-comments-and-attrs.S1_top-doc.html
+++ b/tests/rustdoc/mixing-doc-comments-and-attrs.S1_top-doc.html
diff --git a/src/test/rustdoc/mixing-doc-comments-and-attrs.S2_top-doc.html b/tests/rustdoc/mixing-doc-comments-and-attrs.S2_top-doc.html
index 8ff114b99..8ff114b99 100644
--- a/src/test/rustdoc/mixing-doc-comments-and-attrs.S2_top-doc.html
+++ b/tests/rustdoc/mixing-doc-comments-and-attrs.S2_top-doc.html
diff --git a/src/test/rustdoc/mixing-doc-comments-and-attrs.S3_top-doc.html b/tests/rustdoc/mixing-doc-comments-and-attrs.S3_top-doc.html
index a4ee4b141..a4ee4b141 100644
--- a/src/test/rustdoc/mixing-doc-comments-and-attrs.S3_top-doc.html
+++ b/tests/rustdoc/mixing-doc-comments-and-attrs.S3_top-doc.html
diff --git a/tests/rustdoc/mixing-doc-comments-and-attrs.rs b/tests/rustdoc/mixing-doc-comments-and-attrs.rs
new file mode 100644
index 000000000..010058361
--- /dev/null
+++ b/tests/rustdoc/mixing-doc-comments-and-attrs.rs
@@ -0,0 +1,25 @@
+#![crate_name = "foo"]
+
+// @has 'foo/struct.S1.html'
+// @snapshot S1_top-doc - '//details[@class="toggle top-doc"]/div[@class="docblock"]'
+
+#[doc = "Hello world!\n\n"]
+/// Goodbye!
+#[doc = " Hello again!\n"]
+pub struct S1;
+
+// @has 'foo/struct.S2.html'
+// @snapshot S2_top-doc - '//details[@class="toggle top-doc"]/div[@class="docblock"]'
+
+/// Hello world!
+///
+#[doc = "Goodbye!"]
+/// Hello again!
+pub struct S2;
+
+// @has 'foo/struct.S3.html'
+// @snapshot S3_top-doc - '//details[@class="toggle top-doc"]/div[@class="docblock"]'
+/** Par 1
+*/ ///
+/// Par 2
+pub struct S3;
diff --git a/src/test/rustdoc/mod-stackoverflow.rs b/tests/rustdoc/mod-stackoverflow.rs
index 45b1de216..45b1de216 100644
--- a/src/test/rustdoc/mod-stackoverflow.rs
+++ b/tests/rustdoc/mod-stackoverflow.rs
diff --git a/src/test/rustdoc/module-impls.rs b/tests/rustdoc/module-impls.rs
index 852f444e9..852f444e9 100644
--- a/src/test/rustdoc/module-impls.rs
+++ b/tests/rustdoc/module-impls.rs
diff --git a/tests/rustdoc/multiple-import-levels.rs b/tests/rustdoc/multiple-import-levels.rs
new file mode 100644
index 000000000..29b67c6b2
--- /dev/null
+++ b/tests/rustdoc/multiple-import-levels.rs
@@ -0,0 +1,34 @@
+// The goal of this test is to ensure that the attributes of all imports are taken into
+// account.
+
+#![crate_name = "foo"]
+
+mod a {
+ /// 1
+ pub struct Type;
+}
+
+mod b {
+ /// 2
+ pub use crate::a::Type;
+}
+
+mod c {
+ /// 3
+ pub use crate::b::Type;
+ /// 4
+ pub use crate::b::Type as Woof;
+}
+
+// @has 'foo/struct.Type.html'
+// @has - '//*[@class="toggle top-doc"]/*[@class="docblock"]' 'foo 2 1'
+/// foo
+pub use b::Type;
+// @has 'foo/struct.Whatever.html'
+// @has - '//*[@class="toggle top-doc"]/*[@class="docblock"]' 'whatever 3 2 1'
+/// whatever
+pub use c::Type as Whatever;
+// @has 'foo/struct.Woof.html'
+// @has - '//*[@class="toggle top-doc"]/*[@class="docblock"]' 'a dog 4 2 1'
+/// a dog
+pub use c::Woof;
diff --git a/src/test/rustdoc/must_implement_one_of.rs b/tests/rustdoc/must_implement_one_of.rs
index 1f1dd5d57..1f1dd5d57 100644
--- a/src/test/rustdoc/must_implement_one_of.rs
+++ b/tests/rustdoc/must_implement_one_of.rs
diff --git a/src/test/rustdoc/mut-params.rs b/tests/rustdoc/mut-params.rs
index f3ea69958..3b862e651 100644
--- a/src/test/rustdoc/mut-params.rs
+++ b/tests/rustdoc/mut-params.rs
@@ -13,6 +13,6 @@ impl Foo {
pub fn bar(mut bar: ()) {}
}
-// @count foo/fn.baz.html '//*[@class="rust fn"]' 1
-// @!has - '//*[@class="rust fn"]' 'mut'
+// @count foo/fn.baz.html '//div[@class="item-decl"]/pre[@class="rust"]' 1
+// @!has - '//div[@class="item-decl"]/pre[@class="rust"]' 'mut'
pub fn baz(mut foo: Foo) {}
diff --git a/src/test/rustdoc/namespaces.rs b/tests/rustdoc/namespaces.rs
index ad828e5ee..ad828e5ee 100644
--- a/src/test/rustdoc/namespaces.rs
+++ b/tests/rustdoc/namespaces.rs
diff --git a/src/test/rustdoc/negative-impl-sidebar.rs b/tests/rustdoc/negative-impl-sidebar.rs
index 4af6d0084..4af6d0084 100644
--- a/src/test/rustdoc/negative-impl-sidebar.rs
+++ b/tests/rustdoc/negative-impl-sidebar.rs
diff --git a/src/test/rustdoc/negative-impl.rs b/tests/rustdoc/negative-impl.rs
index af19c784d..af19c784d 100644
--- a/src/test/rustdoc/negative-impl.rs
+++ b/tests/rustdoc/negative-impl.rs
diff --git a/src/test/rustdoc/nested-modules.rs b/tests/rustdoc/nested-modules.rs
index 12234d2cf..12234d2cf 100644
--- a/src/test/rustdoc/nested-modules.rs
+++ b/tests/rustdoc/nested-modules.rs
diff --git a/src/test/rustdoc/no-compiler-reexport.rs b/tests/rustdoc/no-compiler-reexport.rs
index d28fdf87b..d28fdf87b 100644
--- a/src/test/rustdoc/no-compiler-reexport.rs
+++ b/tests/rustdoc/no-compiler-reexport.rs
diff --git a/src/test/rustdoc/no-crate-filter.rs b/tests/rustdoc/no-crate-filter.rs
index b2f899064..b2f899064 100644
--- a/src/test/rustdoc/no-crate-filter.rs
+++ b/tests/rustdoc/no-crate-filter.rs
diff --git a/src/test/rustdoc/no-run-still-checks-lints.rs b/tests/rustdoc/no-run-still-checks-lints.rs
index 9f7d1c884..9f7d1c884 100644
--- a/src/test/rustdoc/no-run-still-checks-lints.rs
+++ b/tests/rustdoc/no-run-still-checks-lints.rs
diff --git a/src/test/rustdoc/no-stack-overflow-25295.rs b/tests/rustdoc/no-stack-overflow-25295.rs
index dd79f1e4b..dd79f1e4b 100644
--- a/src/test/rustdoc/no-stack-overflow-25295.rs
+++ b/tests/rustdoc/no-stack-overflow-25295.rs
diff --git a/src/test/rustdoc/no-unit-struct-field.rs b/tests/rustdoc/no-unit-struct-field.rs
index d301954b6..d301954b6 100644
--- a/src/test/rustdoc/no-unit-struct-field.rs
+++ b/tests/rustdoc/no-unit-struct-field.rs
diff --git a/src/test/rustdoc/no_std-primitive.rs b/tests/rustdoc/no_std-primitive.rs
index 22fd392dd..22fd392dd 100644
--- a/src/test/rustdoc/no_std-primitive.rs
+++ b/tests/rustdoc/no_std-primitive.rs
diff --git a/tests/rustdoc/normalize-assoc-item.rs b/tests/rustdoc/normalize-assoc-item.rs
new file mode 100644
index 000000000..659480479
--- /dev/null
+++ b/tests/rustdoc/normalize-assoc-item.rs
@@ -0,0 +1,82 @@
+// ignore-tidy-linelength
+// aux-build:normalize-assoc-item.rs
+// build-aux-docs
+// compile-flags:-Znormalize-docs
+
+pub trait Trait {
+ type X;
+}
+
+impl Trait for usize {
+ type X = isize;
+}
+
+impl Trait for () {
+ type X = fn() -> i32;
+}
+
+impl Trait for isize {
+ type X = <() as Trait>::X;
+}
+
+// @has 'normalize_assoc_item/fn.f.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn f() -> isize'
+pub fn f() -> <usize as Trait>::X {
+ 0
+}
+
+// @has 'normalize_assoc_item/fn.f2.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn f2() -> fn() -> i32'
+pub fn f2() -> <isize as Trait>::X {
+ todo!()
+}
+
+pub struct S {
+ // @has 'normalize_assoc_item/struct.S.html' '//span[@id="structfield.box_me_up"]' 'box_me_up: Box<S, Global>'
+ pub box_me_up: <S as Trait>::X,
+ // @has 'normalize_assoc_item/struct.S.html' '//span[@id="structfield.generic"]' 'generic: (usize, isize)'
+ pub generic: <Generic<usize> as Trait>::X,
+}
+
+impl Trait for S {
+ type X = Box<S>;
+}
+
+pub struct Generic<Inner>(Inner);
+
+impl<Inner: Trait> Trait for Generic<Inner> {
+ type X = (Inner, Inner::X);
+}
+
+// These can't be normalized because they depend on a generic parameter.
+// However the user can choose whether the text should be displayed as `Inner::X` or `<Inner as Trait>::X`.
+
+// @has 'normalize_assoc_item/struct.Unknown.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub struct Unknown<Inner: Trait>(pub <Inner as Trait>::X);'
+pub struct Unknown<Inner: Trait>(pub <Inner as Trait>::X);
+
+// @has 'normalize_assoc_item/struct.Unknown2.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub struct Unknown2<Inner: Trait>(pub Inner::X);'
+pub struct Unknown2<Inner: Trait>(pub Inner::X);
+
+trait Lifetimes<'a> {
+ type Y;
+}
+
+impl<'a> Lifetimes<'a> for usize {
+ type Y = &'a isize;
+}
+
+// @has 'normalize_assoc_item/fn.g.html' '//div[@class="item-decl"]/pre[@class="rust"]' "pub fn g() -> &isize"
+pub fn g() -> <usize as Lifetimes<'static>>::Y {
+ &0
+}
+
+// @has 'normalize_assoc_item/constant.A.html' '//div[@class="item-decl"]/pre[@class="rust"]' "pub const A: &isize"
+pub const A: <usize as Lifetimes<'static>>::Y = &0;
+
+// test cross-crate re-exports
+extern crate inner;
+// @has 'normalize_assoc_item/fn.foo.html' '//div[@class="item-decl"]/pre[@class="rust"]' "pub fn foo() -> i32"
+pub use inner::foo;
+
+// @has 'normalize_assoc_item/fn.h.html' '//div[@class="item-decl"]/pre[@class="rust"]' "pub fn h<T>() -> IntoIter<T, Global>"
+pub fn h<T>() -> <Vec<T> as IntoIterator>::IntoIter {
+ vec![].into_iter()
+}
diff --git a/src/test/rustdoc/not-wf-ambiguous-normalization.rs b/tests/rustdoc/not-wf-ambiguous-normalization.rs
index 1e9f925f8..1e9f925f8 100644
--- a/src/test/rustdoc/not-wf-ambiguous-normalization.rs
+++ b/tests/rustdoc/not-wf-ambiguous-normalization.rs
diff --git a/src/test/rustdoc/nul-error.rs b/tests/rustdoc/nul-error.rs
index 3d30f5f6b..3d30f5f6b 100644
--- a/src/test/rustdoc/nul-error.rs
+++ b/tests/rustdoc/nul-error.rs
diff --git a/src/test/rustdoc/playground-arg.rs b/tests/rustdoc/playground-arg.rs
index 69c896265..69c896265 100644
--- a/src/test/rustdoc/playground-arg.rs
+++ b/tests/rustdoc/playground-arg.rs
diff --git a/src/test/rustdoc/playground-empty.rs b/tests/rustdoc/playground-empty.rs
index 7d8bd3ffe..7d8bd3ffe 100644
--- a/src/test/rustdoc/playground-empty.rs
+++ b/tests/rustdoc/playground-empty.rs
diff --git a/src/test/rustdoc/playground-none.rs b/tests/rustdoc/playground-none.rs
index ff51c68d8..ff51c68d8 100644
--- a/src/test/rustdoc/playground-none.rs
+++ b/tests/rustdoc/playground-none.rs
diff --git a/src/test/rustdoc/playground-syntax-error.rs b/tests/rustdoc/playground-syntax-error.rs
index 8918ae874..8918ae874 100644
--- a/src/test/rustdoc/playground-syntax-error.rs
+++ b/tests/rustdoc/playground-syntax-error.rs
diff --git a/src/test/rustdoc/playground.rs b/tests/rustdoc/playground.rs
index 877ea1cfb..877ea1cfb 100644
--- a/src/test/rustdoc/playground.rs
+++ b/tests/rustdoc/playground.rs
diff --git a/src/test/rustdoc/primitive-link.rs b/tests/rustdoc/primitive-link.rs
index 125e0c849..125e0c849 100644
--- a/src/test/rustdoc/primitive-link.rs
+++ b/tests/rustdoc/primitive-link.rs
diff --git a/src/test/rustdoc/primitive-reexport.rs b/tests/rustdoc/primitive-reexport.rs
index 10a8a47db..10a8a47db 100644
--- a/src/test/rustdoc/primitive-reexport.rs
+++ b/tests/rustdoc/primitive-reexport.rs
diff --git a/src/test/rustdoc/primitive-reference.rs b/tests/rustdoc/primitive-reference.rs
index ea8d2d166..c3a5eb6d3 100644
--- a/src/test/rustdoc/primitive-reference.rs
+++ b/tests/rustdoc/primitive-reference.rs
@@ -9,7 +9,7 @@
// @has - '//div[@class="sidebar-elems"]//li/a/@href' '#primitives'
// @has foo/primitive.reference.html
// @has - '//a[@class="primitive"]' 'reference'
-// @has - '//h1[@class="fqn"]' 'Primitive Type reference'
+// @has - '//h1' 'Primitive Type reference'
// @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// There should be only one implementation listed.
diff --git a/src/test/rustdoc/primitive-slice-auto-trait.rs b/tests/rustdoc/primitive-slice-auto-trait.rs
index cdddd6b65..779224146 100644
--- a/src/test/rustdoc/primitive-slice-auto-trait.rs
+++ b/tests/rustdoc/primitive-slice-auto-trait.rs
@@ -4,7 +4,7 @@
#![feature(rustdoc_internals)]
// @has foo/primitive.slice.html '//a[@class="primitive"]' 'slice'
-// @has - '//h1[@class="fqn"]' 'Primitive Type slice'
+// @has - '//h1' 'Primitive Type slice'
// @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has - '//h2[@id="synthetic-implementations"]' 'Auto Trait Implementations'
// @has - '//div[@id="synthetic-implementations-list"]//h3' 'impl<T> Send for [T]where T: Send'
diff --git a/src/test/rustdoc/primitive-tuple-auto-trait.rs b/tests/rustdoc/primitive-tuple-auto-trait.rs
index df681457f..4344d24f9 100644
--- a/src/test/rustdoc/primitive-tuple-auto-trait.rs
+++ b/tests/rustdoc/primitive-tuple-auto-trait.rs
@@ -4,7 +4,7 @@
#![feature(rustdoc_internals)]
// @has foo/primitive.tuple.html '//a[@class="primitive"]' 'tuple'
-// @has - '//h1[@class="fqn"]' 'Primitive Type tuple'
+// @has - '//h1' 'Primitive Type tuple'
// @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has - '//h2[@id="synthetic-implementations"]' 'Auto Trait Implementations'
// @has - '//div[@id="synthetic-implementations-list"]//h3' 'Send'
diff --git a/src/test/rustdoc/primitive-tuple-variadic.rs b/tests/rustdoc/primitive-tuple-variadic.rs
index db7cfd60c..db7cfd60c 100644
--- a/src/test/rustdoc/primitive-tuple-variadic.rs
+++ b/tests/rustdoc/primitive-tuple-variadic.rs
diff --git a/src/test/rustdoc/primitive-unit-auto-trait.rs b/tests/rustdoc/primitive-unit-auto-trait.rs
index 391e33bea..61850e246 100644
--- a/src/test/rustdoc/primitive-unit-auto-trait.rs
+++ b/tests/rustdoc/primitive-unit-auto-trait.rs
@@ -4,7 +4,7 @@
#![feature(rustdoc_internals)]
// @has foo/primitive.unit.html '//a[@class="primitive"]' 'unit'
-// @has - '//h1[@class="fqn"]' 'Primitive Type unit'
+// @has - '//h1' 'Primitive Type unit'
// @has - '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has - '//h2[@id="synthetic-implementations"]' 'Auto Trait Implementations'
// @has - '//div[@id="synthetic-implementations-list"]//h3' 'impl Send for ()'
diff --git a/src/test/rustdoc/primitive.rs b/tests/rustdoc/primitive.rs
index 6347fdac3..516c7c0c6 100644
--- a/src/test/rustdoc/primitive.rs
+++ b/tests/rustdoc/primitive.rs
@@ -7,7 +7,7 @@
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a' 'Primitive Types'
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a/@href' '#primitives'
// @has foo/primitive.i32.html '//a[@class="primitive"]' 'i32'
-// @has foo/primitive.i32.html '//h1[@class="fqn"]' 'Primitive Type i32'
+// @has foo/primitive.i32.html '//h1' 'Primitive Type i32'
// @has foo/primitive.i32.html '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
// @has foo/index.html '//a/@href' '../foo/index.html'
// @!has foo/index.html '//span' '🔒'
diff --git a/src/test/rustdoc/primitive/no_std.rs b/tests/rustdoc/primitive/no_std.rs
index f0f70cb6c..f0f70cb6c 100644
--- a/src/test/rustdoc/primitive/no_std.rs
+++ b/tests/rustdoc/primitive/no_std.rs
diff --git a/src/test/rustdoc/primitive/primitive-generic-impl.rs b/tests/rustdoc/primitive/primitive-generic-impl.rs
index 7b336b398..7b336b398 100644
--- a/src/test/rustdoc/primitive/primitive-generic-impl.rs
+++ b/tests/rustdoc/primitive/primitive-generic-impl.rs
diff --git a/src/test/rustdoc/private-type-alias.rs b/tests/rustdoc/private-type-alias.rs
index ec7385404..ec7385404 100644
--- a/src/test/rustdoc/private-type-alias.rs
+++ b/tests/rustdoc/private-type-alias.rs
diff --git a/src/test/rustdoc/proc-macro.rs b/tests/rustdoc/proc-macro.rs
index 10acb7ac4..10acb7ac4 100644
--- a/src/test/rustdoc/proc-macro.rs
+++ b/tests/rustdoc/proc-macro.rs
diff --git a/src/test/rustdoc/process-termination.rs b/tests/rustdoc/process-termination.rs
index 32258792b..32258792b 100644
--- a/src/test/rustdoc/process-termination.rs
+++ b/tests/rustdoc/process-termination.rs
diff --git a/src/test/rustdoc/pub-extern-crate.rs b/tests/rustdoc/pub-extern-crate.rs
index 26747a4d1..26747a4d1 100644
--- a/src/test/rustdoc/pub-extern-crate.rs
+++ b/tests/rustdoc/pub-extern-crate.rs
diff --git a/src/test/rustdoc/pub-method.rs b/tests/rustdoc/pub-method.rs
index fa7de0aff..0dca3f672 100644
--- a/src/test/rustdoc/pub-method.rs
+++ b/tests/rustdoc/pub-method.rs
@@ -3,7 +3,7 @@
#![crate_name = "foo"]
// @has foo/fn.bar.html
-// @has - '//*[@class="rust fn"]' 'pub fn bar() -> '
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn bar() -> '
/// foo
pub fn bar() -> usize {
2
diff --git a/src/test/rustdoc/pub-use-extern-macros.rs b/tests/rustdoc/pub-use-extern-macros.rs
index eefe6b4b0..eefe6b4b0 100644
--- a/src/test/rustdoc/pub-use-extern-macros.rs
+++ b/tests/rustdoc/pub-use-extern-macros.rs
diff --git a/tests/rustdoc/range-arg-pattern.rs b/tests/rustdoc/range-arg-pattern.rs
new file mode 100644
index 000000000..bdbcc47c9
--- /dev/null
+++ b/tests/rustdoc/range-arg-pattern.rs
@@ -0,0 +1,5 @@
+#![crate_name = "foo"]
+
+// @has foo/fn.f.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn f(_: u8)'
+pub fn f(0u8..=255: u8) {}
diff --git a/src/test/rustdoc/raw-ident-eliminate-r-hashtag.rs b/tests/rustdoc/raw-ident-eliminate-r-hashtag.rs
index 7dbe63854..7dbe63854 100644
--- a/src/test/rustdoc/raw-ident-eliminate-r-hashtag.rs
+++ b/tests/rustdoc/raw-ident-eliminate-r-hashtag.rs
diff --git a/tests/rustdoc/read-more-unneeded.rs b/tests/rustdoc/read-more-unneeded.rs
new file mode 100644
index 000000000..0303e4442
--- /dev/null
+++ b/tests/rustdoc/read-more-unneeded.rs
@@ -0,0 +1,34 @@
+// Regression test for https://github.com/rust-lang/rust/issues/105677.
+// This test ensures that the "Read more" link is only generated when
+// there is actually more documentation to read after the short summary.
+
+#![crate_name = "foo"]
+
+pub trait MyFrom {
+ /// # Hello
+ /// ## Yolo
+ /// more!
+ fn try_from1();
+ /// a
+ /// b
+ /// c
+ fn try_from2();
+ /// a
+ ///
+ /// b
+ ///
+ /// c
+ fn try_from3();
+}
+
+pub struct NonZero;
+
+// @has 'foo/struct.NonZero.html'
+impl MyFrom for NonZero {
+ // @matches - '//*[@class="docblock"]' '^Hello Read more$'
+ fn try_from1() {}
+ // @matches - '//*[@class="docblock"]' '^a\sb\sc$'
+ fn try_from2() {}
+ // @matches - '//*[@class="docblock"]' '^a Read more$'
+ fn try_from3() {}
+}
diff --git a/src/test/rustdoc/recursion1.rs b/tests/rustdoc/recursion1.rs
index edf7e440f..edf7e440f 100644
--- a/src/test/rustdoc/recursion1.rs
+++ b/tests/rustdoc/recursion1.rs
diff --git a/src/test/rustdoc/recursion2.rs b/tests/rustdoc/recursion2.rs
index edf7e440f..edf7e440f 100644
--- a/src/test/rustdoc/recursion2.rs
+++ b/tests/rustdoc/recursion2.rs
diff --git a/src/test/rustdoc/recursion3.rs b/tests/rustdoc/recursion3.rs
index e69b43016..e69b43016 100644
--- a/src/test/rustdoc/recursion3.rs
+++ b/tests/rustdoc/recursion3.rs
diff --git a/src/test/rustdoc/recursive-deref-sidebar.rs b/tests/rustdoc/recursive-deref-sidebar.rs
index 619f40eff..619f40eff 100644
--- a/src/test/rustdoc/recursive-deref-sidebar.rs
+++ b/tests/rustdoc/recursive-deref-sidebar.rs
diff --git a/src/test/rustdoc/recursive-deref.rs b/tests/rustdoc/recursive-deref.rs
index aa38485c4..aa38485c4 100644
--- a/src/test/rustdoc/recursive-deref.rs
+++ b/tests/rustdoc/recursive-deref.rs
diff --git a/src/test/rustdoc/redirect-const.rs b/tests/rustdoc/redirect-const.rs
index 453da8387..453da8387 100644
--- a/src/test/rustdoc/redirect-const.rs
+++ b/tests/rustdoc/redirect-const.rs
diff --git a/src/test/rustdoc/redirect-map-empty.rs b/tests/rustdoc/redirect-map-empty.rs
index e9d021e0f..e9d021e0f 100644
--- a/src/test/rustdoc/redirect-map-empty.rs
+++ b/tests/rustdoc/redirect-map-empty.rs
diff --git a/src/test/rustdoc/redirect-map.rs b/tests/rustdoc/redirect-map.rs
index b7f16b64e..b7f16b64e 100644
--- a/src/test/rustdoc/redirect-map.rs
+++ b/tests/rustdoc/redirect-map.rs
diff --git a/src/test/rustdoc/redirect-rename.rs b/tests/rustdoc/redirect-rename.rs
index 504c0687c..504c0687c 100644
--- a/src/test/rustdoc/redirect-rename.rs
+++ b/tests/rustdoc/redirect-rename.rs
diff --git a/src/test/rustdoc/redirect.rs b/tests/rustdoc/redirect.rs
index e3a14c7a7..e3a14c7a7 100644
--- a/src/test/rustdoc/redirect.rs
+++ b/tests/rustdoc/redirect.rs
diff --git a/src/test/rustdoc/reexport-check.rs b/tests/rustdoc/reexport-check.rs
index db1f90c69..db1f90c69 100644
--- a/src/test/rustdoc/reexport-check.rs
+++ b/tests/rustdoc/reexport-check.rs
diff --git a/src/test/rustdoc/reexport-dep-foreign-fn.rs b/tests/rustdoc/reexport-dep-foreign-fn.rs
index 6694c91d1..6694c91d1 100644
--- a/src/test/rustdoc/reexport-dep-foreign-fn.rs
+++ b/tests/rustdoc/reexport-dep-foreign-fn.rs
diff --git a/tests/rustdoc/reexport-doc-hidden.rs b/tests/rustdoc/reexport-doc-hidden.rs
new file mode 100644
index 000000000..3ea5fde72
--- /dev/null
+++ b/tests/rustdoc/reexport-doc-hidden.rs
@@ -0,0 +1,26 @@
+// Part of <https://github.com/rust-lang/rust/issues/59368>.
+// This test ensures that reexporting a `doc(hidden)` item will
+// still show the reexport.
+
+#![crate_name = "foo"]
+
+#[doc(hidden)]
+pub type Type = u32;
+
+// @has 'foo/index.html'
+// @has - '//*[@id="reexport.Type2"]/code' 'pub use crate::Type as Type2;'
+pub use crate::Type as Type2;
+
+// @count - '//*[@id="reexport.Type3"]' 0
+#[doc(hidden)]
+pub use crate::Type as Type3;
+
+#[macro_export]
+#[doc(hidden)]
+macro_rules! foo {
+ () => {};
+}
+
+// This is a bug: https://github.com/rust-lang/rust/issues/59368
+// @!has - '//*[@id="reexport.Macro"]/code' 'pub use crate::foo as Macro;'
+pub use crate::foo as Macro;
diff --git a/src/test/rustdoc/reexport-doc.rs b/tests/rustdoc/reexport-doc.rs
index df2c889b4..df2c889b4 100644
--- a/src/test/rustdoc/reexport-doc.rs
+++ b/tests/rustdoc/reexport-doc.rs
diff --git a/src/test/rustdoc/reexport-stability-tags-deprecated-and-portability.rs b/tests/rustdoc/reexport-stability-tags-deprecated-and-portability.rs
index a79d05904..a79d05904 100644
--- a/src/test/rustdoc/reexport-stability-tags-deprecated-and-portability.rs
+++ b/tests/rustdoc/reexport-stability-tags-deprecated-and-portability.rs
diff --git a/src/test/rustdoc/reexport-stability-tags-unstable-and-portability.rs b/tests/rustdoc/reexport-stability-tags-unstable-and-portability.rs
index ff8a910f5..ff8a910f5 100644
--- a/src/test/rustdoc/reexport-stability-tags-unstable-and-portability.rs
+++ b/tests/rustdoc/reexport-stability-tags-unstable-and-portability.rs
diff --git a/src/test/rustdoc/reexports-priv.rs b/tests/rustdoc/reexports-priv.rs
index 11364e7f7..35c90ba5d 100644
--- a/src/test/rustdoc/reexports-priv.rs
+++ b/tests/rustdoc/reexports-priv.rs
@@ -32,7 +32,7 @@ pub(self) use reexports::BarSelf;
// @!has 'foo/enum.BarLocal.html'
use reexports::BarLocal;
-// @has 'foo/fn.foo.html' '//*[@class="rust fn"]' 'pub fn foo()'
+// @has 'foo/fn.foo.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn foo()'
pub use reexports::foo;
// @!has 'foo/fn.foo_crate.html'
pub(crate) use reexports::foo_crate;
@@ -41,7 +41,7 @@ pub(self) use reexports::foo_self;
// @!has 'foo/fn.foo_local.html'
use reexports::foo_local;
-// @has 'foo/type.Type.html' '//*[@class="rust typedef"]' 'pub type Type ='
+// @has 'foo/type.Type.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub type Type ='
pub use reexports::Type;
// @!has 'foo/type.TypeCrate.html'
pub(crate) use reexports::TypeCrate;
@@ -94,22 +94,22 @@ pub mod outer {
// @!has 'foo/outer/inner/enum.BarLocal.html'
use reexports::BarLocal;
- // @has 'foo/outer/inner/fn.foo.html' '//*[@class="rust fn"]' 'pub fn foo()'
+ // @has 'foo/outer/inner/fn.foo.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn foo()'
pub use reexports::foo;
- // @has 'foo/outer/inner/fn.foo_crate.html' '//*[@class="rust fn"]' 'pub(crate) fn foo_crate()'
+ // @has 'foo/outer/inner/fn.foo_crate.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub(crate) fn foo_crate()'
pub(crate) use reexports::foo_crate;
- // @has 'foo/outer/inner/fn.foo_super.html' '//*[@class="rust fn"]' 'pub(in outer) fn foo_super()'
+ // @has 'foo/outer/inner/fn.foo_super.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub(in outer) fn foo_super()'
pub(super) use::reexports::foo_super;
// @!has 'foo/outer/inner/fn.foo_self.html'
pub(self) use reexports::foo_self;
// @!has 'foo/outer/inner/fn.foo_local.html'
use reexports::foo_local;
- // @has 'foo/outer/inner/type.Type.html' '//*[@class="rust typedef"]' 'pub type Type ='
+ // @has 'foo/outer/inner/type.Type.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub type Type ='
pub use reexports::Type;
- // @has 'foo/outer/inner/type.TypeCrate.html' '//*[@class="rust typedef"]' 'pub(crate) type TypeCrate ='
+ // @has 'foo/outer/inner/type.TypeCrate.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub(crate) type TypeCrate ='
pub(crate) use reexports::TypeCrate;
- // @has 'foo/outer/inner/type.TypeSuper.html' '//*[@class="rust typedef"]' 'pub(in outer) type TypeSuper ='
+ // @has 'foo/outer/inner/type.TypeSuper.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub(in outer) type TypeSuper ='
pub(super) use reexports::TypeSuper;
// @!has 'foo/outer/inner/type.TypeSelf.html'
pub(self) use reexports::TypeSelf;
diff --git a/src/test/rustdoc/reexports.rs b/tests/rustdoc/reexports.rs
index 9aa6d7224..65d305c6d 100644
--- a/src/test/rustdoc/reexports.rs
+++ b/tests/rustdoc/reexports.rs
@@ -31,7 +31,7 @@ pub(self) use reexports::BarSelf;
// @!has 'foo/enum.BarLocal.html'
use reexports::BarLocal;
-// @has 'foo/fn.foo.html' '//*[@class="rust fn"]' 'pub fn foo()'
+// @has 'foo/fn.foo.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn foo()'
pub use reexports::foo;
// @!has 'foo/fn.foo_crate.html'
pub(crate) use reexports::foo_crate;
@@ -40,7 +40,7 @@ pub(self) use reexports::foo_self;
// @!has 'foo/fn.foo_local.html'
use reexports::foo_local;
-// @has 'foo/type.Type.html' '//*[@class="rust typedef"]' 'pub type Type ='
+// @has 'foo/type.Type.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub type Type ='
pub use reexports::Type;
// @!has 'foo/type.TypeCrate.html'
pub(crate) use reexports::TypeCrate;
@@ -93,7 +93,7 @@ pub mod outer {
// @!has 'foo/outer/inner/enum.BarLocal.html'
use reexports::BarLocal;
- // @has 'foo/outer/inner/fn.foo.html' '//*[@class="rust fn"]' 'pub fn foo()'
+ // @has 'foo/outer/inner/fn.foo.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn foo()'
pub use reexports::foo;
// @!has 'foo/outer/inner/fn.foo_crate.html'
pub(crate) use reexports::foo_crate;
@@ -104,7 +104,7 @@ pub mod outer {
// @!has 'foo/outer/inner/fn.foo_local.html'
use reexports::foo_local;
- // @has 'foo/outer/inner/type.Type.html' '//*[@class="rust typedef"]' 'pub type Type ='
+ // @has 'foo/outer/inner/type.Type.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub type Type ='
pub use reexports::Type;
// @!has 'foo/outer/inner/type.TypeCrate.html'
pub(crate) use reexports::TypeCrate;
diff --git a/src/test/rustdoc/remove-duplicates.rs b/tests/rustdoc/remove-duplicates.rs
index 759bf84db..759bf84db 100644
--- a/src/test/rustdoc/remove-duplicates.rs
+++ b/tests/rustdoc/remove-duplicates.rs
diff --git a/src/test/rustdoc/remove-url-from-headings.rs b/tests/rustdoc/remove-url-from-headings.rs
index 599c429a6..599c429a6 100644
--- a/src/test/rustdoc/remove-url-from-headings.rs
+++ b/tests/rustdoc/remove-url-from-headings.rs
diff --git a/src/test/rustdoc/return-impl-trait.rs b/tests/rustdoc/return-impl-trait.rs
index 1ccf5ac46..1ccf5ac46 100644
--- a/src/test/rustdoc/return-impl-trait.rs
+++ b/tests/rustdoc/return-impl-trait.rs
diff --git a/src/test/rustdoc/rfc-2632-const-trait-impl.rs b/tests/rustdoc/rfc-2632-const-trait-impl.rs
index 7ed9d6729..a229a4e29 100644
--- a/src/test/rustdoc/rfc-2632-const-trait-impl.rs
+++ b/tests/rustdoc/rfc-2632-const-trait-impl.rs
@@ -12,10 +12,10 @@ use std::marker::Destruct;
pub struct S<T>(T);
-// @!has foo/trait.Tr.html '//pre[@class="rust trait"]/code/a[@class="trait"]' '~const'
-// @has - '//pre[@class="rust trait"]/code/a[@class="trait"]' 'Clone'
-// @!has - '//pre[@class="rust trait"]/code/span[@class="where"]' '~const'
-// @has - '//pre[@class="rust trait"]/code/span[@class="where"]' ': Clone'
+// @!has foo/trait.Tr.html '//div[@class="item-decl"]/pre[@class="rust"]/code/a[@class="trait"]' '~const'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]/code/a[@class="trait"]' 'Clone'
+// @!has - '//div[@class="item-decl"]/pre[@class="rust"]/code/span[@class="where"]' '~const'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]/code/span[@class="where"]' ': Clone'
#[const_trait]
pub trait Tr<T> {
// @!has - '//section[@id="method.a"]/h4[@class="code-header"]' '~const'
@@ -45,10 +45,10 @@ where
}
}
-// @!has foo/fn.foo.html '//pre[@class="rust fn"]/code/a[@class="trait"]' '~const'
-// @has - '//pre[@class="rust fn"]/code/a[@class="trait"]' 'Clone'
-// @!has - '//pre[@class="rust fn"]/code/span[@class="where fmt-newline"]' '~const'
-// @has - '//pre[@class="rust fn"]/code/span[@class="where fmt-newline"]' ': Clone'
+// @!has foo/fn.foo.html '//div[@class="item-decl"]/pre[@class="rust"]/code/a[@class="trait"]' '~const'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]/code/a[@class="trait"]' 'Clone'
+// @!has - '//div[@class="item-decl"]/pre[@class="rust"]/code/span[@class="where fmt-newline"]' '~const'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]/code/span[@class="where fmt-newline"]' ': Clone'
pub const fn foo<F: ~const Clone + ~const Destruct>()
where
Option<F>: ~const Clone + ~const Destruct,
diff --git a/src/test/rustdoc/rustc-incoherent-impls.rs b/tests/rustdoc/rustc-incoherent-impls.rs
index 3fdefbecc..3fdefbecc 100644
--- a/src/test/rustdoc/rustc-incoherent-impls.rs
+++ b/tests/rustdoc/rustc-incoherent-impls.rs
diff --git a/src/test/rustdoc/rustc-macro-crate.rs b/tests/rustdoc/rustc-macro-crate.rs
index dd5edc984..dd5edc984 100644
--- a/src/test/rustdoc/rustc-macro-crate.rs
+++ b/tests/rustdoc/rustc-macro-crate.rs
diff --git a/tests/rustdoc/safe-intrinsic.rs b/tests/rustdoc/safe-intrinsic.rs
new file mode 100644
index 000000000..0b65bf1df
--- /dev/null
+++ b/tests/rustdoc/safe-intrinsic.rs
@@ -0,0 +1,22 @@
+#![feature(intrinsics)]
+#![feature(no_core)]
+#![feature(rustc_attrs)]
+
+#![no_core]
+#![crate_name = "foo"]
+
+extern "rust-intrinsic" {
+ // @has 'foo/fn.abort.html'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub extern "rust-intrinsic" fn abort() -> !'
+ #[rustc_safe_intrinsic]
+ pub fn abort() -> !;
+ // @has 'foo/fn.unreachable.html'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub unsafe extern "rust-intrinsic" fn unreachable() -> !'
+ pub fn unreachable() -> !;
+}
+
+extern "C" {
+ // @has 'foo/fn.needs_drop.html'
+ // @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub unsafe extern "C" fn needs_drop() -> !'
+ pub fn needs_drop() -> !;
+}
diff --git a/src/test/rustdoc/same-crate-hidden-impl-parameter.rs b/tests/rustdoc/same-crate-hidden-impl-parameter.rs
index d55393af8..d55393af8 100644
--- a/src/test/rustdoc/same-crate-hidden-impl-parameter.rs
+++ b/tests/rustdoc/same-crate-hidden-impl-parameter.rs
diff --git a/src/test/rustdoc/sanitizer-option.rs b/tests/rustdoc/sanitizer-option.rs
index 1abba468f..1abba468f 100644
--- a/src/test/rustdoc/sanitizer-option.rs
+++ b/tests/rustdoc/sanitizer-option.rs
diff --git a/src/test/rustdoc/search-index-summaries.rs b/tests/rustdoc/search-index-summaries.rs
index efd366405..efd366405 100644
--- a/src/test/rustdoc/search-index-summaries.rs
+++ b/tests/rustdoc/search-index-summaries.rs
diff --git a/src/test/rustdoc/search-index.rs b/tests/rustdoc/search-index.rs
index d1d05eb88..d1d05eb88 100644
--- a/src/test/rustdoc/search-index.rs
+++ b/tests/rustdoc/search-index.rs
diff --git a/src/test/rustdoc/short-docblock-codeblock.rs b/tests/rustdoc/short-docblock-codeblock.rs
index 3c5fa7b36..3c5fa7b36 100644
--- a/src/test/rustdoc/short-docblock-codeblock.rs
+++ b/tests/rustdoc/short-docblock-codeblock.rs
diff --git a/src/test/rustdoc/short-docblock.rs b/tests/rustdoc/short-docblock.rs
index 1a8a689be..1a8a689be 100644
--- a/src/test/rustdoc/short-docblock.rs
+++ b/tests/rustdoc/short-docblock.rs
diff --git a/src/test/rustdoc/short-line.md b/tests/rustdoc/short-line.md
index eff713baa..eff713baa 100644
--- a/src/test/rustdoc/short-line.md
+++ b/tests/rustdoc/short-line.md
diff --git a/src/test/rustdoc/show-const-contents.rs b/tests/rustdoc/show-const-contents.rs
index 69e742ee7..69e742ee7 100644
--- a/src/test/rustdoc/show-const-contents.rs
+++ b/tests/rustdoc/show-const-contents.rs
diff --git a/src/test/rustdoc/sidebar-all-page.rs b/tests/rustdoc/sidebar-all-page.rs
index e74b981de..e74b981de 100644
--- a/src/test/rustdoc/sidebar-all-page.rs
+++ b/tests/rustdoc/sidebar-all-page.rs
diff --git a/src/test/rustdoc/sidebar-items.rs b/tests/rustdoc/sidebar-items.rs
index 6f7afa59b..6f7afa59b 100644
--- a/src/test/rustdoc/sidebar-items.rs
+++ b/tests/rustdoc/sidebar-items.rs
diff --git a/src/test/rustdoc/sidebar-link-generation.rs b/tests/rustdoc/sidebar-link-generation.rs
index 7858f35a2..7858f35a2 100644
--- a/src/test/rustdoc/sidebar-link-generation.rs
+++ b/tests/rustdoc/sidebar-link-generation.rs
diff --git a/src/test/rustdoc/sidebar-links-to-foreign-impl.rs b/tests/rustdoc/sidebar-links-to-foreign-impl.rs
index 11e946948..11e946948 100644
--- a/src/test/rustdoc/sidebar-links-to-foreign-impl.rs
+++ b/tests/rustdoc/sidebar-links-to-foreign-impl.rs
diff --git a/src/test/rustdoc/sized_trait.rs b/tests/rustdoc/sized_trait.rs
index feef4de8d..feef4de8d 100644
--- a/src/test/rustdoc/sized_trait.rs
+++ b/tests/rustdoc/sized_trait.rs
diff --git a/src/test/rustdoc/slice-links.link_box_generic.html b/tests/rustdoc/slice-links.link_box_generic.html
index 38aaf2080..38aaf2080 100644
--- a/src/test/rustdoc/slice-links.link_box_generic.html
+++ b/tests/rustdoc/slice-links.link_box_generic.html
diff --git a/src/test/rustdoc/slice-links.link_box_u32.html b/tests/rustdoc/slice-links.link_box_u32.html
index 7bec7582d..7bec7582d 100644
--- a/src/test/rustdoc/slice-links.link_box_u32.html
+++ b/tests/rustdoc/slice-links.link_box_u32.html
diff --git a/src/test/rustdoc/slice-links.link_slice_generic.html b/tests/rustdoc/slice-links.link_slice_generic.html
index 1d0f2bf75..1d0f2bf75 100644
--- a/src/test/rustdoc/slice-links.link_slice_generic.html
+++ b/tests/rustdoc/slice-links.link_slice_generic.html
diff --git a/src/test/rustdoc/slice-links.link_slice_u32.html b/tests/rustdoc/slice-links.link_slice_u32.html
index c86d38304..c86d38304 100644
--- a/src/test/rustdoc/slice-links.link_slice_u32.html
+++ b/tests/rustdoc/slice-links.link_slice_u32.html
diff --git a/tests/rustdoc/slice-links.rs b/tests/rustdoc/slice-links.rs
new file mode 100644
index 000000000..67137fdca
--- /dev/null
+++ b/tests/rustdoc/slice-links.rs
@@ -0,0 +1,28 @@
+#![crate_name = "foo"]
+#![no_std]
+
+pub struct MyBox<T: ?Sized>(*const T);
+
+// @has 'foo/fn.alpha.html'
+// @snapshot link_slice_u32 - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn alpha() -> &'static [u32] {
+ loop {}
+}
+
+// @has 'foo/fn.beta.html'
+// @snapshot link_slice_generic - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn beta<T>() -> &'static [T] {
+ loop {}
+}
+
+// @has 'foo/fn.gamma.html'
+// @snapshot link_box_u32 - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn gamma() -> MyBox<[u32]> {
+ loop {}
+}
+
+// @has 'foo/fn.delta.html'
+// @snapshot link_box_generic - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn delta<T>() -> MyBox<[T]> {
+ loop {}
+}
diff --git a/src/test/rustdoc/smart-punct.rs b/tests/rustdoc/smart-punct.rs
index 7ae5bd699..7ae5bd699 100644
--- a/src/test/rustdoc/smart-punct.rs
+++ b/tests/rustdoc/smart-punct.rs
diff --git a/src/test/rustdoc/smoke.rs b/tests/rustdoc/smoke.rs
index c1ed3a0c9..c1ed3a0c9 100644
--- a/src/test/rustdoc/smoke.rs
+++ b/tests/rustdoc/smoke.rs
diff --git a/src/test/rustdoc/sort-modules-by-appearance.rs b/tests/rustdoc/sort-modules-by-appearance.rs
index b5cc8bc83..b5cc8bc83 100644
--- a/src/test/rustdoc/sort-modules-by-appearance.rs
+++ b/tests/rustdoc/sort-modules-by-appearance.rs
diff --git a/src/test/rustdoc/source-file.rs b/tests/rustdoc/source-file.rs
index 4e1664790..4e1664790 100644
--- a/src/test/rustdoc/source-file.rs
+++ b/tests/rustdoc/source-file.rs
diff --git a/src/test/rustdoc/source-version-separator.rs b/tests/rustdoc/source-version-separator.rs
index 14580373b..14580373b 100644
--- a/src/test/rustdoc/source-version-separator.rs
+++ b/tests/rustdoc/source-version-separator.rs
diff --git a/tests/rustdoc/spotlight-from-dependency.odd.html b/tests/rustdoc/spotlight-from-dependency.odd.html
new file mode 100644
index 000000000..5f54b7522
--- /dev/null
+++ b/tests/rustdoc/spotlight-from-dependency.odd.html
@@ -0,0 +1 @@
+<script type="text/json" id="notable-traits-data">{"Odd":"&lt;h3&gt;Notable traits for &lt;code&gt;&lt;a class=\"struct\" href=\"struct.Odd.html\" title=\"struct foo::Odd\"&gt;Odd&lt;/a&gt;&lt;/code&gt;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;&lt;span class=\"where fmt-newline\"&gt;impl &lt;a class=\"trait\" href=\"{{channel}}/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\"&gt;Iterator&lt;/a&gt; for &lt;a class=\"struct\" href=\"struct.Odd.html\" title=\"struct foo::Odd\"&gt;Odd&lt;/a&gt;&lt;/span&gt;&lt;span class=\"where fmt-newline\"&gt; type &lt;a href=\"{{channel}}/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\"&gt;Item&lt;/a&gt; = &lt;a class=\"primitive\" href=\"{{channel}}/std/primitive.usize.html\"&gt;usize&lt;/a&gt;;&lt;/span&gt;"}</script> \ No newline at end of file
diff --git a/src/test/rustdoc/spotlight-from-dependency.rs b/tests/rustdoc/spotlight-from-dependency.rs
index 090ad187d..090ad187d 100644
--- a/src/test/rustdoc/spotlight-from-dependency.rs
+++ b/tests/rustdoc/spotlight-from-dependency.rs
diff --git a/src/test/rustdoc/src-links-auto-impls.rs b/tests/rustdoc/src-links-auto-impls.rs
index 953563833..953563833 100644
--- a/src/test/rustdoc/src-links-auto-impls.rs
+++ b/tests/rustdoc/src-links-auto-impls.rs
diff --git a/src/test/rustdoc/src-links-external.rs b/tests/rustdoc/src-links-external.rs
index 8012e4422..8012e4422 100644
--- a/src/test/rustdoc/src-links-external.rs
+++ b/tests/rustdoc/src-links-external.rs
diff --git a/src/test/rustdoc/src-links.rs b/tests/rustdoc/src-links.rs
index 353ce1024..7a6c733d4 100644
--- a/src/test/rustdoc/src-links.rs
+++ b/tests/rustdoc/src-links.rs
@@ -7,6 +7,11 @@
#[path = "src-links/mod.rs"]
pub mod qux;
+// @has src/foo/src-links.rs.html
+// @has foo/fizz/index.html '//a/@href' '../src/foo/src-links/fizz.rs.html'
+#[path = "src-links/../src-links/fizz.rs"]
+pub mod fizz;
+
// @has foo/bar/index.html '//a/@href' '../../src/foo/src-links.rs.html'
pub mod bar {
diff --git a/src/test/rustdoc/src-links/compiletest-ignore-dir b/tests/rustdoc/src-links/compiletest-ignore-dir
index e69de29bb..e69de29bb 100644
--- a/src/test/rustdoc/src-links/compiletest-ignore-dir
+++ b/tests/rustdoc/src-links/compiletest-ignore-dir
diff --git a/tests/rustdoc/src-links/fizz.rs b/tests/rustdoc/src-links/fizz.rs
new file mode 100644
index 000000000..d2b76b1ce
--- /dev/null
+++ b/tests/rustdoc/src-links/fizz.rs
@@ -0,0 +1 @@
+pub struct Buzz;
diff --git a/src/test/rustdoc/src-links/mod.rs b/tests/rustdoc/src-links/mod.rs
index 27b239681..27b239681 100644
--- a/src/test/rustdoc/src-links/mod.rs
+++ b/tests/rustdoc/src-links/mod.rs
diff --git a/src/test/rustdoc/stability.rs b/tests/rustdoc/stability.rs
index 90be2050d..90be2050d 100644
--- a/src/test/rustdoc/stability.rs
+++ b/tests/rustdoc/stability.rs
diff --git a/src/test/rustdoc/static-root-path.rs b/tests/rustdoc/static-root-path.rs
index 86928b0fb..86928b0fb 100644
--- a/src/test/rustdoc/static-root-path.rs
+++ b/tests/rustdoc/static-root-path.rs
diff --git a/src/test/rustdoc/static.rs b/tests/rustdoc/static.rs
index 90dafd8b3..90dafd8b3 100644
--- a/src/test/rustdoc/static.rs
+++ b/tests/rustdoc/static.rs
diff --git a/src/test/rustdoc/strip-block-doc-comments-stars.docblock.html b/tests/rustdoc/strip-block-doc-comments-stars.docblock.html
index 22b0b5dc4..22b0b5dc4 100644
--- a/src/test/rustdoc/strip-block-doc-comments-stars.docblock.html
+++ b/tests/rustdoc/strip-block-doc-comments-stars.docblock.html
diff --git a/tests/rustdoc/strip-block-doc-comments-stars.rs b/tests/rustdoc/strip-block-doc-comments-stars.rs
new file mode 100644
index 000000000..ca4c93f92
--- /dev/null
+++ b/tests/rustdoc/strip-block-doc-comments-stars.rs
@@ -0,0 +1,11 @@
+#![crate_name = "foo"]
+
+// The goal of this test is to ensure that it won't be generated as a list because
+// block doc comments can have their lines starting with a star.
+
+// @has foo/fn.foo.html
+// @snapshot docblock - '//*[@class="toggle top-doc"]//*[@class="docblock"]'
+/**
+ * a
+ */
+pub fn foo() {}
diff --git a/src/test/rustdoc/strip-enum-variant.no-not-shown.html b/tests/rustdoc/strip-enum-variant.no-not-shown.html
index 782198956..782198956 100644
--- a/src/test/rustdoc/strip-enum-variant.no-not-shown.html
+++ b/tests/rustdoc/strip-enum-variant.no-not-shown.html
diff --git a/src/test/rustdoc/strip-enum-variant.rs b/tests/rustdoc/strip-enum-variant.rs
index 8753a7dc6..8753a7dc6 100644
--- a/src/test/rustdoc/strip-enum-variant.rs
+++ b/tests/rustdoc/strip-enum-variant.rs
diff --git a/tests/rustdoc/struct-arg-pattern.rs b/tests/rustdoc/struct-arg-pattern.rs
new file mode 100644
index 000000000..3bfb43a0b
--- /dev/null
+++ b/tests/rustdoc/struct-arg-pattern.rs
@@ -0,0 +1,10 @@
+#![crate_name = "foo"]
+
+struct BodyId {
+ hir_id: usize,
+}
+
+// @has 'foo/fn.body_owner.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn body_owner(_: BodyId)'
+pub fn body_owner(BodyId { hir_id }: BodyId) {
+ // ...
+}
diff --git a/src/test/rustdoc/struct-field.rs b/tests/rustdoc/struct-field.rs
index 998683bdd..998683bdd 100644
--- a/src/test/rustdoc/struct-field.rs
+++ b/tests/rustdoc/struct-field.rs
diff --git a/src/test/rustdoc/struct-implementations-title.rs b/tests/rustdoc/struct-implementations-title.rs
index 5468796f6..5468796f6 100644
--- a/src/test/rustdoc/struct-implementations-title.rs
+++ b/tests/rustdoc/struct-implementations-title.rs
diff --git a/src/test/rustdoc/structfields.rs b/tests/rustdoc/structfields.rs
index 7e1cada4b..7e1cada4b 100644
--- a/src/test/rustdoc/structfields.rs
+++ b/tests/rustdoc/structfields.rs
diff --git a/src/test/rustdoc/synthetic_auto/basic.rs b/tests/rustdoc/synthetic_auto/basic.rs
index 7c6a38865..7c6a38865 100644
--- a/src/test/rustdoc/synthetic_auto/basic.rs
+++ b/tests/rustdoc/synthetic_auto/basic.rs
diff --git a/src/test/rustdoc/synthetic_auto/complex.rs b/tests/rustdoc/synthetic_auto/complex.rs
index 43393c21f..43393c21f 100644
--- a/src/test/rustdoc/synthetic_auto/complex.rs
+++ b/tests/rustdoc/synthetic_auto/complex.rs
diff --git a/src/test/rustdoc/synthetic_auto/crate-local.rs b/tests/rustdoc/synthetic_auto/crate-local.rs
index ed01f63f9..ed01f63f9 100644
--- a/src/test/rustdoc/synthetic_auto/crate-local.rs
+++ b/tests/rustdoc/synthetic_auto/crate-local.rs
diff --git a/src/test/rustdoc/synthetic_auto/issue-72213-projection-lifetime.rs b/tests/rustdoc/synthetic_auto/issue-72213-projection-lifetime.rs
index 6f66b8e55..6f66b8e55 100644
--- a/src/test/rustdoc/synthetic_auto/issue-72213-projection-lifetime.rs
+++ b/tests/rustdoc/synthetic_auto/issue-72213-projection-lifetime.rs
diff --git a/src/test/rustdoc/synthetic_auto/lifetimes.rs b/tests/rustdoc/synthetic_auto/lifetimes.rs
index 33170a844..33170a844 100644
--- a/src/test/rustdoc/synthetic_auto/lifetimes.rs
+++ b/tests/rustdoc/synthetic_auto/lifetimes.rs
diff --git a/src/test/rustdoc/synthetic_auto/manual.rs b/tests/rustdoc/synthetic_auto/manual.rs
index 77c04ad2a..77c04ad2a 100644
--- a/src/test/rustdoc/synthetic_auto/manual.rs
+++ b/tests/rustdoc/synthetic_auto/manual.rs
diff --git a/src/test/rustdoc/synthetic_auto/negative.rs b/tests/rustdoc/synthetic_auto/negative.rs
index 2c2c848a5..2c2c848a5 100644
--- a/src/test/rustdoc/synthetic_auto/negative.rs
+++ b/tests/rustdoc/synthetic_auto/negative.rs
diff --git a/src/test/rustdoc/synthetic_auto/nested.rs b/tests/rustdoc/synthetic_auto/nested.rs
index 423bf115a..423bf115a 100644
--- a/src/test/rustdoc/synthetic_auto/nested.rs
+++ b/tests/rustdoc/synthetic_auto/nested.rs
diff --git a/src/test/rustdoc/synthetic_auto/no-redundancy.rs b/tests/rustdoc/synthetic_auto/no-redundancy.rs
index 59f336233..59f336233 100644
--- a/src/test/rustdoc/synthetic_auto/no-redundancy.rs
+++ b/tests/rustdoc/synthetic_auto/no-redundancy.rs
diff --git a/src/test/rustdoc/synthetic_auto/overflow.rs b/tests/rustdoc/synthetic_auto/overflow.rs
index 35a487c76..35a487c76 100644
--- a/src/test/rustdoc/synthetic_auto/overflow.rs
+++ b/tests/rustdoc/synthetic_auto/overflow.rs
diff --git a/src/test/rustdoc/synthetic_auto/project.rs b/tests/rustdoc/synthetic_auto/project.rs
index 558ff2add..558ff2add 100644
--- a/src/test/rustdoc/synthetic_auto/project.rs
+++ b/tests/rustdoc/synthetic_auto/project.rs
diff --git a/src/test/rustdoc/synthetic_auto/self-referential.rs b/tests/rustdoc/synthetic_auto/self-referential.rs
index c6ae96de7..c6ae96de7 100644
--- a/src/test/rustdoc/synthetic_auto/self-referential.rs
+++ b/tests/rustdoc/synthetic_auto/self-referential.rs
diff --git a/src/test/rustdoc/synthetic_auto/static-region.rs b/tests/rustdoc/synthetic_auto/static-region.rs
index 1a76cb919..1a76cb919 100644
--- a/src/test/rustdoc/synthetic_auto/static-region.rs
+++ b/tests/rustdoc/synthetic_auto/static-region.rs
diff --git a/src/test/rustdoc/tab_title.rs b/tests/rustdoc/tab_title.rs
index 0cc4f147e..0cc4f147e 100644
--- a/src/test/rustdoc/tab_title.rs
+++ b/tests/rustdoc/tab_title.rs
diff --git a/src/test/rustdoc/table-in-docblock.rs b/tests/rustdoc/table-in-docblock.rs
index 194f49f16..194f49f16 100644
--- a/src/test/rustdoc/table-in-docblock.rs
+++ b/tests/rustdoc/table-in-docblock.rs
diff --git a/src/test/rustdoc/task-lists.rs b/tests/rustdoc/task-lists.rs
index c2e7dd60f..c2e7dd60f 100644
--- a/src/test/rustdoc/task-lists.rs
+++ b/tests/rustdoc/task-lists.rs
diff --git a/src/test/rustdoc/test-lists.rs b/tests/rustdoc/test-lists.rs
index 6a510b9ac..6a510b9ac 100644
--- a/src/test/rustdoc/test-lists.rs
+++ b/tests/rustdoc/test-lists.rs
diff --git a/tests/rustdoc/test-parens.rs b/tests/rustdoc/test-parens.rs
new file mode 100644
index 000000000..f5fdb1f52
--- /dev/null
+++ b/tests/rustdoc/test-parens.rs
@@ -0,0 +1,5 @@
+#![crate_name = "foo"]
+
+// @has foo/fn.foo.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' "_: &(dyn ToString + 'static)"
+pub fn foo(_: &(ToString + 'static)) {}
diff --git a/src/test/rustdoc/test-strikethrough.rs b/tests/rustdoc/test-strikethrough.rs
index c7855729a..c7855729a 100644
--- a/src/test/rustdoc/test-strikethrough.rs
+++ b/tests/rustdoc/test-strikethrough.rs
diff --git a/src/test/rustdoc/test_option_check/bar.rs b/tests/rustdoc/test_option_check/bar.rs
index 50a182cf7..50a182cf7 100644
--- a/src/test/rustdoc/test_option_check/bar.rs
+++ b/tests/rustdoc/test_option_check/bar.rs
diff --git a/src/test/rustdoc/test_option_check/test.rs b/tests/rustdoc/test_option_check/test.rs
index 964e8e37e..964e8e37e 100644
--- a/src/test/rustdoc/test_option_check/test.rs
+++ b/tests/rustdoc/test_option_check/test.rs
diff --git a/src/test/rustdoc/thread-local-src.rs b/tests/rustdoc/thread-local-src.rs
index 6de35e323..6de35e323 100644
--- a/src/test/rustdoc/thread-local-src.rs
+++ b/tests/rustdoc/thread-local-src.rs
diff --git a/src/test/rustdoc/titles.rs b/tests/rustdoc/titles.rs
index 69e8b856b..69e8b856b 100644
--- a/src/test/rustdoc/titles.rs
+++ b/tests/rustdoc/titles.rs
diff --git a/tests/rustdoc/toggle-item-contents.rs b/tests/rustdoc/toggle-item-contents.rs
new file mode 100644
index 000000000..5d34ec09b
--- /dev/null
+++ b/tests/rustdoc/toggle-item-contents.rs
@@ -0,0 +1,185 @@
+#![allow(unused)]
+
+// @has 'toggle_item_contents/struct.PubStruct.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 0
+pub struct PubStruct {
+ pub a: usize,
+ pub b: usize,
+}
+
+// @has 'toggle_item_contents/struct.BigPubStruct.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 1
+// @has - '//details[@class="toggle type-contents-toggle"]' 'Show 13 fields'
+pub struct BigPubStruct {
+ pub a: usize,
+ pub b: usize,
+ pub c: usize,
+ pub d: usize,
+ pub e: usize,
+ pub f: usize,
+ pub g: usize,
+ pub h: usize,
+ pub i: usize,
+ pub j: usize,
+ pub k: usize,
+ pub l: usize,
+ pub m: usize,
+}
+
+// @has 'toggle_item_contents/union.BigUnion.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 1
+// @has - '//details[@class="toggle type-contents-toggle"]' 'Show 13 fields'
+pub union BigUnion {
+ pub a: usize,
+ pub b: usize,
+ pub c: usize,
+ pub d: usize,
+ pub e: usize,
+ pub f: usize,
+ pub g: usize,
+ pub h: usize,
+ pub i: usize,
+ pub j: usize,
+ pub k: usize,
+ pub l: usize,
+ pub m: usize,
+}
+
+// @has 'toggle_item_contents/union.Union.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 0
+pub union Union {
+ pub a: usize,
+ pub b: usize,
+ pub c: usize,
+}
+
+// @has 'toggle_item_contents/struct.PrivStruct.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 0
+// @has - '//div[@class="item-decl"]' '/* private fields */'
+pub struct PrivStruct {
+ a: usize,
+ b: usize,
+}
+
+// @has 'toggle_item_contents/enum.Enum.html'
+// @!has - '//details[@class="toggle type-contents-toggle"]' ''
+pub enum Enum {
+ A, B, C,
+ D {
+ a: u8,
+ b: u8
+ }
+}
+
+// @has 'toggle_item_contents/enum.EnumStructVariant.html'
+// @!has - '//details[@class="toggle type-contents-toggle"]' ''
+pub enum EnumStructVariant {
+ A, B, C,
+ D {
+ a: u8,
+ }
+}
+
+// @has 'toggle_item_contents/enum.LargeEnum.html'
+// @count - '//div[@class="item-decl"]/pre//details[@class="toggle type-contents-toggle"]' 1
+// @has - '//div[@class="item-decl"]/pre//details[@class="toggle type-contents-toggle"]' 'Show 13 variants'
+pub enum LargeEnum {
+ A, B, C, D, E, F(u8), G, H, I, J, K, L, M
+}
+
+// @has 'toggle_item_contents/trait.Trait.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 0
+pub trait Trait {
+ type A;
+ #[must_use]
+ fn foo();
+ fn bar();
+}
+
+// @has 'toggle_item_contents/trait.GinormousTrait.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 1
+// @has - '//details[@class="toggle type-contents-toggle"]' 'Show 16 associated items'
+pub trait GinormousTrait {
+ type A;
+ type B;
+ type C;
+ type D;
+ type E;
+ type F;
+ type G;
+ type H;
+ type I;
+ type J;
+ type K;
+ type L;
+ type M;
+ const N: usize = 1;
+ #[must_use]
+ fn foo();
+ fn bar();
+}
+
+// @has 'toggle_item_contents/trait.HugeTrait.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 1
+// @has - '//details[@class="toggle type-contents-toggle"]' 'Show 12 associated constants and 2 methods'
+pub trait HugeTrait {
+ type A;
+ const M: usize = 1;
+ const N: usize = 1;
+ const O: usize = 1;
+ const P: usize = 1;
+ const Q: usize = 1;
+ const R: usize = 1;
+ const S: usize = 1;
+ const T: usize = 1;
+ const U: usize = 1;
+ const V: usize = 1;
+ const W: usize = 1;
+ const X: usize = 1;
+ #[must_use]
+ fn foo();
+ fn bar();
+}
+
+// @has 'toggle_item_contents/trait.GiganticTrait.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 1
+// @has - '//details[@class="toggle type-contents-toggle"]' 'Show 1 associated constant and 1 method'
+pub trait GiganticTrait {
+ type A;
+ type B;
+ type C;
+ type D;
+ type E;
+ type F;
+ type G;
+ type H;
+ type I;
+ type J;
+ type K;
+ type L;
+ const M: usize = 1;
+ #[must_use]
+ fn foo();
+}
+
+// @has 'toggle_item_contents/trait.BigTrait.html'
+// @count - '//details[@class="toggle type-contents-toggle"]' 1
+// @has - '//details[@class="toggle type-contents-toggle"]' 'Show 14 methods'
+pub trait BigTrait {
+ type A;
+ #[must_use]
+ fn foo();
+ fn bar();
+ fn baz();
+ fn quux();
+ fn frob();
+ fn greeble();
+ fn blap();
+ fn whoop();
+ fn pow();
+ fn bang();
+ fn oomph();
+ fn argh();
+ fn wap();
+ fn ouch();
+}
diff --git a/tests/rustdoc/toggle-method.rs b/tests/rustdoc/toggle-method.rs
new file mode 100644
index 000000000..ebc316ca8
--- /dev/null
+++ b/tests/rustdoc/toggle-method.rs
@@ -0,0 +1,18 @@
+#![crate_name = "foo"]
+
+// Struct methods with documentation should be wrapped in a <details> toggle with an appropriate
+// summary. Struct methods with no documentation should not be wrapped.
+//
+// @has foo/struct.Foo.html
+// @has - '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'is_documented()'
+// @has - '//details[@class="toggle method-toggle"]//*[@class="docblock"]' 'is_documented is documented'
+// @!has - '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'not_documented()'
+pub struct Foo {
+}
+
+impl Foo {
+ pub fn not_documented() {}
+
+ /// is_documented is documented
+ pub fn is_documented() {}
+}
diff --git a/tests/rustdoc/toggle-trait-fn.rs b/tests/rustdoc/toggle-trait-fn.rs
new file mode 100644
index 000000000..686a174fc
--- /dev/null
+++ b/tests/rustdoc/toggle-trait-fn.rs
@@ -0,0 +1,30 @@
+#![crate_name = "foo"]
+
+// Trait methods with documentation should be wrapped in a <details> toggle with an appropriate
+// summary. Trait methods with no documentation should not be wrapped.
+//
+// @has foo/trait.Foo.html
+// @has - '//details[@class="toggle"]//summary//h4[@class="code-header"]' 'type Item'
+// @!has - '//details[@class="toggle"]//summary//h4[@class="code-header"]' 'type Item2'
+// @has - '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'is_documented()'
+// @!has - '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'not_documented()'
+// @has - '//details[@class="toggle method-toggle"]//*[@class="docblock"]' 'is_documented is documented'
+// @has - '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'is_documented_optional()'
+// @!has - '//details[@class="toggle method-toggle"]//summary//h4[@class="code-header"]' 'not_documented_optional()'
+// @has - '//details[@class="toggle method-toggle"]//*[@class="docblock"]' 'is_documented_optional is documented'
+pub trait Foo {
+ /// is documented
+ type Item;
+
+ type Item2;
+
+ fn not_documented();
+
+ /// is_documented is documented
+ fn is_documented();
+
+ fn not_documented_optional() {}
+
+ /// is_documented_optional is documented
+ fn is_documented_optional() {}
+}
diff --git a/src/test/rustdoc/trait-alias-mention.rs b/tests/rustdoc/trait-alias-mention.rs
index 6da0dc687..6da0dc687 100644
--- a/src/test/rustdoc/trait-alias-mention.rs
+++ b/tests/rustdoc/trait-alias-mention.rs
diff --git a/src/test/rustdoc/trait-impl-items-links-and-anchors.rs b/tests/rustdoc/trait-impl-items-links-and-anchors.rs
index a125fa036..a125fa036 100644
--- a/src/test/rustdoc/trait-impl-items-links-and-anchors.rs
+++ b/tests/rustdoc/trait-impl-items-links-and-anchors.rs
diff --git a/src/test/rustdoc/trait-impl.rs b/tests/rustdoc/trait-impl.rs
index 195cdf009..9cf3226f7 100644
--- a/src/test/rustdoc/trait-impl.rs
+++ b/tests/rustdoc/trait-impl.rs
@@ -30,8 +30,6 @@ impl Trait for Struct {
// @has - '//*[@id="method.b"]/../../div[@class="docblock"]' 'These docs contain'
// @has - '//*[@id="method.b"]/../../div[@class="docblock"]/a' 'reference link'
// @has - '//*[@id="method.b"]/../../div[@class="docblock"]/a/@href' 'https://example.com'
- // @has - '//*[@id="method.b"]/../../div[@class="docblock"]/a' 'Read more'
- // @has - '//*[@id="method.b"]/../../div[@class="docblock"]/a/@href' 'trait.Trait.html#tymethod.b'
fn b() {}
// @!has - '//*[@id="method.c"]/../../div[@class="docblock"]' 'code block'
diff --git a/src/test/rustdoc/trait-self-link.rs b/tests/rustdoc/trait-self-link.rs
index e311dadff..e311dadff 100644
--- a/src/test/rustdoc/trait-self-link.rs
+++ b/tests/rustdoc/trait-self-link.rs
diff --git a/src/test/rustdoc/trait-src-link.rs b/tests/rustdoc/trait-src-link.rs
index a6367efba..a6367efba 100644
--- a/src/test/rustdoc/trait-src-link.rs
+++ b/tests/rustdoc/trait-src-link.rs
diff --git a/src/test/rustdoc/trait-visibility.rs b/tests/rustdoc/trait-visibility.rs
index 8ba3ee03a..8ba3ee03a 100644
--- a/src/test/rustdoc/trait-visibility.rs
+++ b/tests/rustdoc/trait-visibility.rs
diff --git a/src/test/rustdoc/trait_alias.rs b/tests/rustdoc/trait_alias.rs
index 791c099cc..791c099cc 100644
--- a/src/test/rustdoc/trait_alias.rs
+++ b/tests/rustdoc/trait_alias.rs
diff --git a/src/test/rustdoc/traits-in-bodies-private.rs b/tests/rustdoc/traits-in-bodies-private.rs
index 96b7c4f9d..96b7c4f9d 100644
--- a/src/test/rustdoc/traits-in-bodies-private.rs
+++ b/tests/rustdoc/traits-in-bodies-private.rs
diff --git a/src/test/rustdoc/traits-in-bodies.rs b/tests/rustdoc/traits-in-bodies.rs
index a65dd7a54..a65dd7a54 100644
--- a/src/test/rustdoc/traits-in-bodies.rs
+++ b/tests/rustdoc/traits-in-bodies.rs
diff --git a/src/test/rustdoc/tuple-struct-fields-doc.rs b/tests/rustdoc/tuple-struct-fields-doc.rs
index 8ab1143d1..d72c10f2b 100644
--- a/src/test/rustdoc/tuple-struct-fields-doc.rs
+++ b/tests/rustdoc/tuple-struct-fields-doc.rs
@@ -19,7 +19,7 @@ pub struct Foo(
);
// @has foo/enum.Bar.html
-// @has - '//pre[@class="rust enum"]' 'BarVariant(String),'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'BarVariant(String),'
// @matches - '//*[@id="variant.BarVariant.fields"]/h4' '^Tuple Fields$'
// @has - '//*[@id="variant.BarVariant.field.0"]' '0: String'
// @has - '//*[@id="variant.BarVariant.fields"]//*[@class="docblock"]' 'Hello docs'
diff --git a/src/test/rustdoc/tuples.link1_i32.html b/tests/rustdoc/tuples.link1_i32.html
index 4efde28ed..4efde28ed 100644
--- a/src/test/rustdoc/tuples.link1_i32.html
+++ b/tests/rustdoc/tuples.link1_i32.html
diff --git a/src/test/rustdoc/tuples.link1_t.html b/tests/rustdoc/tuples.link1_t.html
index 1cbaec057..1cbaec057 100644
--- a/src/test/rustdoc/tuples.link1_t.html
+++ b/tests/rustdoc/tuples.link1_t.html
diff --git a/src/test/rustdoc/tuples.link2_i32.html b/tests/rustdoc/tuples.link2_i32.html
index 77c8d81b8..77c8d81b8 100644
--- a/src/test/rustdoc/tuples.link2_i32.html
+++ b/tests/rustdoc/tuples.link2_i32.html
diff --git a/src/test/rustdoc/tuples.link2_t.html b/tests/rustdoc/tuples.link2_t.html
index 2477aa6be..2477aa6be 100644
--- a/src/test/rustdoc/tuples.link2_t.html
+++ b/tests/rustdoc/tuples.link2_t.html
diff --git a/src/test/rustdoc/tuples.link2_tu.html b/tests/rustdoc/tuples.link2_tu.html
index b02f8dd8d..b02f8dd8d 100644
--- a/src/test/rustdoc/tuples.link2_tu.html
+++ b/tests/rustdoc/tuples.link2_tu.html
diff --git a/src/test/rustdoc/tuples.link_unit.html b/tests/rustdoc/tuples.link_unit.html
index 839990e15..839990e15 100644
--- a/src/test/rustdoc/tuples.link_unit.html
+++ b/tests/rustdoc/tuples.link_unit.html
diff --git a/tests/rustdoc/tuples.rs b/tests/rustdoc/tuples.rs
new file mode 100644
index 000000000..e716de8b5
--- /dev/null
+++ b/tests/rustdoc/tuples.rs
@@ -0,0 +1,20 @@
+#![crate_name = "foo"]
+
+// @has foo/fn.tuple0.html //pre 'pub fn tuple0(x: ())'
+// @snapshot link_unit - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn tuple0(x: ()) -> () { x }
+// @has foo/fn.tuple1.html //pre 'pub fn tuple1(x: (i32,)) -> (i32,)'
+// @snapshot link1_i32 - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn tuple1(x: (i32,)) -> (i32,) { x }
+// @has foo/fn.tuple2.html //pre 'pub fn tuple2(x: (i32, i32)) -> (i32, i32)'
+// @snapshot link2_i32 - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn tuple2(x: (i32, i32)) -> (i32, i32) { x }
+// @has foo/fn.tuple1_t.html //pre 'pub fn tuple1_t<T>(x: (T,)) -> (T,)'
+// @snapshot link1_t - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn tuple1_t<T>(x: (T,)) -> (T,) { x }
+// @has foo/fn.tuple2_t.html //pre 'pub fn tuple2_t<T>(x: (T, T)) -> (T, T)'
+// @snapshot link2_t - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn tuple2_t<T>(x: (T, T)) -> (T, T) { x }
+// @has foo/fn.tuple2_tu.html //pre 'pub fn tuple2_tu<T, U>(x: (T, U)) -> (T, U)'
+// @snapshot link2_tu - '//div[@class="item-decl"]/pre[@class="rust"]/code'
+pub fn tuple2_tu<T, U>(x: (T, U)) -> (T, U) { x }
diff --git a/src/test/rustdoc/type-layout-flag-required.rs b/tests/rustdoc/type-layout-flag-required.rs
index 6bb5e10f8..6bb5e10f8 100644
--- a/src/test/rustdoc/type-layout-flag-required.rs
+++ b/tests/rustdoc/type-layout-flag-required.rs
diff --git a/src/test/rustdoc/type-layout.rs b/tests/rustdoc/type-layout.rs
index 5e0a0411a..5e0a0411a 100644
--- a/src/test/rustdoc/type-layout.rs
+++ b/tests/rustdoc/type-layout.rs
diff --git a/src/test/rustdoc/typedef.rs b/tests/rustdoc/typedef.rs
index d5dfa9484..d5dfa9484 100644
--- a/src/test/rustdoc/typedef.rs
+++ b/tests/rustdoc/typedef.rs
diff --git a/src/test/rustdoc/unindent.md b/tests/rustdoc/unindent.md
index 8e4e7a25a..8e4e7a25a 100644
--- a/src/test/rustdoc/unindent.md
+++ b/tests/rustdoc/unindent.md
diff --git a/src/test/rustdoc/unindent.rs b/tests/rustdoc/unindent.rs
index 372af5f46..372af5f46 100644
--- a/src/test/rustdoc/unindent.rs
+++ b/tests/rustdoc/unindent.rs
diff --git a/src/test/rustdoc/union.rs b/tests/rustdoc/union.rs
index 5a788eb1b..5a788eb1b 100644
--- a/src/test/rustdoc/union.rs
+++ b/tests/rustdoc/union.rs
diff --git a/tests/rustdoc/unit-return.rs b/tests/rustdoc/unit-return.rs
new file mode 100644
index 000000000..353cd1c47
--- /dev/null
+++ b/tests/rustdoc/unit-return.rs
@@ -0,0 +1,17 @@
+// aux-build:unit-return.rs
+
+#![crate_name = "foo"]
+
+extern crate unit_return;
+
+// @has 'foo/fn.f0.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'F: FnMut(u8) + Clone'
+pub fn f0<F: FnMut(u8) + Clone>(f: F) {}
+
+// @has 'foo/fn.f1.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'F: FnMut(u16) + Clone'
+pub fn f1<F: FnMut(u16) -> () + Clone>(f: F) {}
+
+// @has 'foo/fn.f2.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'F: FnMut(u32) + Clone'
+pub use unit_return::f2;
+
+// @has 'foo/fn.f3.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'F: FnMut(u64) + Clone'
+pub use unit_return::f3;
diff --git a/src/test/rustdoc/universal-impl-trait.rs b/tests/rustdoc/universal-impl-trait.rs
index f5eabda59..f5eabda59 100644
--- a/src/test/rustdoc/universal-impl-trait.rs
+++ b/tests/rustdoc/universal-impl-trait.rs
diff --git a/src/test/rustdoc/unneeded-trait-implementations-title.rs b/tests/rustdoc/unneeded-trait-implementations-title.rs
index e1bcfd3b9..e1bcfd3b9 100644
--- a/src/test/rustdoc/unneeded-trait-implementations-title.rs
+++ b/tests/rustdoc/unneeded-trait-implementations-title.rs
diff --git a/src/test/rustdoc/use-attr.rs b/tests/rustdoc/use-attr.rs
index 996b7bba6..996b7bba6 100644
--- a/src/test/rustdoc/use-attr.rs
+++ b/tests/rustdoc/use-attr.rs
diff --git a/src/test/rustdoc/useless_lifetime_bound.rs b/tests/rustdoc/useless_lifetime_bound.rs
index f530d8a65..f530d8a65 100644
--- a/src/test/rustdoc/useless_lifetime_bound.rs
+++ b/tests/rustdoc/useless_lifetime_bound.rs
diff --git a/src/test/rustdoc/variadic.rs b/tests/rustdoc/variadic.rs
index bd8f1775b..bd8f1775b 100644
--- a/src/test/rustdoc/variadic.rs
+++ b/tests/rustdoc/variadic.rs
diff --git a/src/test/rustdoc/version-separator-without-source.rs b/tests/rustdoc/version-separator-without-source.rs
index 04ea46a7f..04ea46a7f 100644
--- a/src/test/rustdoc/version-separator-without-source.rs
+++ b/tests/rustdoc/version-separator-without-source.rs
diff --git a/src/test/rustdoc/viewpath-rename.rs b/tests/rustdoc/viewpath-rename.rs
index 546127637..546127637 100644
--- a/src/test/rustdoc/viewpath-rename.rs
+++ b/tests/rustdoc/viewpath-rename.rs
diff --git a/src/test/rustdoc/viewpath-self.rs b/tests/rustdoc/viewpath-self.rs
index a6b659295..a6b659295 100644
--- a/src/test/rustdoc/viewpath-self.rs
+++ b/tests/rustdoc/viewpath-self.rs
diff --git a/src/test/rustdoc/visibility.rs b/tests/rustdoc/visibility.rs
index 4099b54f0..4099b54f0 100644
--- a/src/test/rustdoc/visibility.rs
+++ b/tests/rustdoc/visibility.rs
diff --git a/src/test/rustdoc/where-clause-order.rs b/tests/rustdoc/where-clause-order.rs
index b8502e10a..b8502e10a 100644
--- a/src/test/rustdoc/where-clause-order.rs
+++ b/tests/rustdoc/where-clause-order.rs
diff --git a/tests/rustdoc/where-sized.rs b/tests/rustdoc/where-sized.rs
new file mode 100644
index 000000000..c0c085e6a
--- /dev/null
+++ b/tests/rustdoc/where-sized.rs
@@ -0,0 +1,6 @@
+#![crate_name = "foo"]
+
+// @has foo/fn.foo.html
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn foo<X, Y: ?Sized>(_: &X)'
+// @has - '//div[@class="item-decl"]/pre[@class="rust"]' 'where X: ?Sized,'
+pub fn foo<X, Y: ?Sized>(_: &X) where X: ?Sized {}
diff --git a/tests/rustdoc/where.SWhere_Simd_item-decl.html b/tests/rustdoc/where.SWhere_Simd_item-decl.html
new file mode 100644
index 000000000..f84cb3753
--- /dev/null
+++ b/tests/rustdoc/where.SWhere_Simd_item-decl.html
@@ -0,0 +1 @@
+<div class="item-decl"><pre class="rust"><code>pub struct Simd&lt;T&gt;(_)<br /><span class="where">where<br />&#160;&#160;&#160;&#160;T: <a class="trait" href="trait.MyTrait.html" title="trait foo::MyTrait">MyTrait</a></span>;</code></pre></div> \ No newline at end of file
diff --git a/src/test/rustdoc/where.SWhere_TraitWhere_item-decl.html b/tests/rustdoc/where.SWhere_TraitWhere_item-decl.html
index d5d6c556d..85b626674 100644
--- a/src/test/rustdoc/where.SWhere_TraitWhere_item-decl.html
+++ b/tests/rustdoc/where.SWhere_TraitWhere_item-decl.html
@@ -1,4 +1,4 @@
-<div class="item-decl"><pre class="rust trait"><code>pub trait TraitWhere {
+<div class="item-decl"><pre class="rust"><code>pub trait TraitWhere {
type <a href="#associatedtype.Item" class="associatedtype">Item</a>&lt;'a&gt;<br />&#160;&#160;&#160;&#160;<span class="where">where<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Self: 'a</span>;
fn <a href="#method.func" class="fn">func</a>(self)<br />&#160;&#160;&#160;&#160;<span class="where">where<br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Self: <a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>,
diff --git a/src/test/rustdoc/where.rs b/tests/rustdoc/where.rs
index 8b5bce28f..3ac0c6872 100644
--- a/src/test/rustdoc/where.rs
+++ b/tests/rustdoc/where.rs
@@ -57,6 +57,6 @@ pub enum Foxtrot<F> { Foxtrot1(F) }
// "impl<F> MyTrait for Foxtrot<F>where F: MyTrait"
impl<F> MyTrait for Foxtrot<F>where F: MyTrait {}
-// @has foo/type.Golf.html '//pre[@class="rust typedef"]' \
+// @has foo/type.Golf.html '//div[@class="item-decl"]/pre[@class="rust"]' \
// "type Golf<T>where T: Clone, = (T, T)"
pub type Golf<T> where T: Clone = (T, T);
diff --git a/tests/rustdoc/whitespace-after-where-clause.enum.html b/tests/rustdoc/whitespace-after-where-clause.enum.html
new file mode 100644
index 000000000..20bde549a
--- /dev/null
+++ b/tests/rustdoc/whitespace-after-where-clause.enum.html
@@ -0,0 +1,4 @@
+<div class="item-decl"><pre class="rust"><code>pub enum Cow&lt;'a, B&gt;<span class="where fmt-newline">where<br />&#160;&#160;&#160;&#160;B: <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a>&lt;dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; + ?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a,</span>{
+ Borrowed(<a class="primitive" href="{{channel}}/std/primitive.reference.html">&amp;'a </a>B),
+ Whatever(<a class="primitive" href="{{channel}}/std/primitive.u32.html">u32</a>),
+}</code></pre></div> \ No newline at end of file
diff --git a/tests/rustdoc/whitespace-after-where-clause.enum2.html b/tests/rustdoc/whitespace-after-where-clause.enum2.html
new file mode 100644
index 000000000..d9fc0c223
--- /dev/null
+++ b/tests/rustdoc/whitespace-after-where-clause.enum2.html
@@ -0,0 +1,4 @@
+<div class="item-decl"><pre class="rust"><code>pub enum Cow2&lt;'a, B:&#160;?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a>&lt;dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; + 'a&gt; {
+ Borrowed(<a class="primitive" href="{{channel}}/std/primitive.reference.html">&amp;'a </a>B),
+ Whatever(<a class="primitive" href="{{channel}}/std/primitive.u32.html">u32</a>),
+}</code></pre></div> \ No newline at end of file
diff --git a/src/test/rustdoc/whitespace-after-where-clause.rs b/tests/rustdoc/whitespace-after-where-clause.rs
index 4b740b970..4b740b970 100644
--- a/src/test/rustdoc/whitespace-after-where-clause.rs
+++ b/tests/rustdoc/whitespace-after-where-clause.rs
diff --git a/tests/rustdoc/whitespace-after-where-clause.struct.html b/tests/rustdoc/whitespace-after-where-clause.struct.html
new file mode 100644
index 000000000..f375265d7
--- /dev/null
+++ b/tests/rustdoc/whitespace-after-where-clause.struct.html
@@ -0,0 +1,4 @@
+<div class="item-decl"><pre class="rust"><code>pub struct Struct&lt;'a, B&gt;<span class="where fmt-newline">where<br />&#160;&#160;&#160;&#160;B: <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a>&lt;dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; + ?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a,</span>{
+ pub a: <a class="primitive" href="{{channel}}/std/primitive.reference.html">&amp;'a </a>B,
+ pub b: <a class="primitive" href="{{channel}}/std/primitive.u32.html">u32</a>,
+}</code></pre></div> \ No newline at end of file
diff --git a/tests/rustdoc/whitespace-after-where-clause.struct2.html b/tests/rustdoc/whitespace-after-where-clause.struct2.html
new file mode 100644
index 000000000..1c59962eb
--- /dev/null
+++ b/tests/rustdoc/whitespace-after-where-clause.struct2.html
@@ -0,0 +1,4 @@
+<div class="item-decl"><pre class="rust"><code>pub struct Struct2&lt;'a, B:&#160;?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a>&lt;dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; + 'a&gt; {
+ pub a: <a class="primitive" href="{{channel}}/std/primitive.reference.html">&amp;'a </a>B,
+ pub b: <a class="primitive" href="{{channel}}/std/primitive.u32.html">u32</a>,
+}</code></pre></div> \ No newline at end of file
diff --git a/tests/rustdoc/whitespace-after-where-clause.trait.html b/tests/rustdoc/whitespace-after-where-clause.trait.html
new file mode 100644
index 000000000..a2df06e77
--- /dev/null
+++ b/tests/rustdoc/whitespace-after-where-clause.trait.html
@@ -0,0 +1,6 @@
+<div class="item-decl"><pre class="rust"><code>pub trait ToOwned&lt;T&gt;<span class="where fmt-newline">where<br />&#160;&#160;&#160;&#160;T: <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span>{
+ type <a href="#associatedtype.Owned" class="associatedtype">Owned</a>;
+
+ fn <a href="#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; Self::<a class="associatedtype" href="trait.ToOwned.html#associatedtype.Owned" title="type foo::ToOwned::Owned">Owned</a>;
+<span class="item-spacer" /> fn <a href="#tymethod.whatever" class="fn">whatever</a>(&amp;self) -&gt; T;
+}</code></pre></div> \ No newline at end of file
diff --git a/tests/rustdoc/whitespace-after-where-clause.trait2.html b/tests/rustdoc/whitespace-after-where-clause.trait2.html
new file mode 100644
index 000000000..2bfd6f768
--- /dev/null
+++ b/tests/rustdoc/whitespace-after-where-clause.trait2.html
@@ -0,0 +1,6 @@
+<div class="item-decl"><pre class="rust"><code>pub trait ToOwned2&lt;T:&#160;<a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; {
+ type <a href="#associatedtype.Owned" class="associatedtype">Owned</a>;
+
+ fn <a href="#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; Self::<a class="associatedtype" href="trait.ToOwned2.html#associatedtype.Owned" title="type foo::ToOwned2::Owned">Owned</a>;
+<span class="item-spacer" /> fn <a href="#tymethod.whatever" class="fn">whatever</a>(&amp;self) -&gt; T;
+}</code></pre></div> \ No newline at end of file
diff --git a/tests/rustdoc/whitespace-after-where-clause.union.html b/tests/rustdoc/whitespace-after-where-clause.union.html
new file mode 100644
index 000000000..066f8f87b
--- /dev/null
+++ b/tests/rustdoc/whitespace-after-where-clause.union.html
@@ -0,0 +1,3 @@
+<div class="item-decl"><pre class="rust"><code>pub union Union&lt;'a, B&gt;<span class="where fmt-newline">where<br />&#160;&#160;&#160;&#160;B: <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a>&lt;dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; + ?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'a,</span>{
+ /* private fields */
+}</code></pre></div> \ No newline at end of file
diff --git a/tests/rustdoc/whitespace-after-where-clause.union2.html b/tests/rustdoc/whitespace-after-where-clause.union2.html
new file mode 100644
index 000000000..6b48c5dbd
--- /dev/null
+++ b/tests/rustdoc/whitespace-after-where-clause.union2.html
@@ -0,0 +1,3 @@
+<div class="item-decl"><pre class="rust"><code>pub union Union2&lt;'a, B:&#160;?<a class="trait" href="{{channel}}/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="trait.ToOwned.html" title="trait foo::ToOwned">ToOwned</a>&lt;dyn <a class="trait" href="{{channel}}/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; + 'a&gt; {
+ /* private fields */
+}</code></pre></div> \ No newline at end of file
diff --git a/src/test/rustdoc/without-redirect.rs b/tests/rustdoc/without-redirect.rs
index a076f8a3c..a076f8a3c 100644
--- a/src/test/rustdoc/without-redirect.rs
+++ b/tests/rustdoc/without-redirect.rs
diff --git a/tests/rustdoc/wrapping.rs b/tests/rustdoc/wrapping.rs
new file mode 100644
index 000000000..178b8adc3
--- /dev/null
+++ b/tests/rustdoc/wrapping.rs
@@ -0,0 +1,5 @@
+use std::fmt::Debug;
+
+// @has 'wrapping/fn.foo.html' '//div[@class="item-decl"]/pre[@class="rust"]' 'pub fn foo() -> impl Debug'
+// @count - '//div[@class="item-decl"]/pre[@class="rust"]/br' 0
+pub fn foo() -> impl Debug {}