rust/src/test/rustdoc
bors ee1474acc4 Auto merge of #58972 - QuietMisdreavus:intra-doc-link-imports, r=GuillaumeGomez
rustdoc: don't process `Crate::external_traits` when collecting intra-doc links

Part of https://github.com/rust-lang/rust/issues/58745, closes https://github.com/rust-lang/rust/pull/58917

The `collect-intra-doc-links` pass keeps track of the modules it recurses through as it processes items. This is used to know what module to give the resolver when looking up links. When looking through the regular items of the crate, this works fine, but the `DocFolder` trait as written doesn't just process the main crate hierarchy - it also processes the trait items in the `external_traits` map. This is useful for other passes (so they can strip out `#[doc(hidden)]` items, for example), but here it creates a situation where we're processing items "outside" the regular module hierarchy. Since everything in `external_traits` is defined outside the current crate, we can't fall back to finding its module scope like we do with local items.

Skipping this collection saves us from emitting some spurious warnings. We don't even lose anything by skipping it, either - the docs loaded from here are only ever rendered through `html::render::document_short` which strips any links out, so the fact that the links haven't been loaded doesn't matter. Hopefully this removes most of the remaining spurious resolution warnings from intra-doc links.

r? @GuillaumeGomez
2019-04-11 08:48:26 +00:00
..
auxiliary Auto merge of #58972 - QuietMisdreavus:intra-doc-link-imports, r=GuillaumeGomez 2019-04-11 08:48:26 +00:00
duplicate_impls Remove licenses 2018-12-25 21:08:33 -07:00
inline_cross rustdoc: wrap stability tags in colored spans 2019-01-31 15:15:59 -05:00
inline_local Remove licenses 2018-12-25 21:08:33 -07:00
primitive Remove licenses 2018-12-25 21:08:33 -07:00
src-links Remove licenses 2018-12-25 21:08:33 -07:00
synthetic_auto Simplify foreign type rendering. 2018-12-27 21:22:27 -08:00
test_option_check Remove licenses 2018-12-25 21:08:33 -07:00
all.rs Remove licenses 2018-12-25 21:08:33 -07:00
assoc-consts-version.rs Simplify foreign type rendering. 2018-12-27 21:22:27 -08:00
assoc-consts.rs Remove licenses 2018-12-25 21:08:33 -07:00
assoc-item-cast.rs Remove licenses 2018-12-25 21:08:33 -07:00
assoc-types.rs Remove licenses 2018-12-25 21:08:33 -07:00
async-fn.rs display sugared return types for async functions 2019-02-06 09:24:03 -05:00
attributes.rs Remove licenses 2018-12-25 21:08:33 -07:00
auto-impl-for-trait.rs Remove licenses 2018-12-25 21:08:33 -07:00
auto-impl-primitive.rs Remove licenses 2018-12-25 21:08:33 -07:00
auto-traits.rs Remove licenses 2018-12-25 21:08:33 -07:00
bad-codeblock-syntax.rs rustdoc: check code block syntax in early pass 2019-01-14 21:21:21 -05:00
blanket-reexport-item.rs Remove licenses 2018-12-25 21:08:33 -07:00
cap-lints.rs Remove licenses 2018-12-25 21:08:33 -07:00
check-styled-link.rs Remove licenses 2018-12-25 21:08:33 -07:00
codeblock-title.rs Remove licenses 2018-12-25 21:08:33 -07:00
comment-in-doctest.rs Remove licenses 2018-12-25 21:08:33 -07:00
const-display.rs Remove licenses 2018-12-25 21:08:33 -07:00
const-doc.rs Remove licenses 2018-12-25 21:08:33 -07:00
const-evalutation-ice.rs Remove licenses 2018-12-25 21:08:33 -07:00
const-fn.rs Remove licenses 2018-12-25 21:08:33 -07:00
const.rs Simplify foreign type rendering. 2018-12-27 21:22:27 -08:00
constructor-imports.rs Remove licenses 2018-12-25 21:08:33 -07:00
crate-version.rs Remove licenses 2018-12-25 21:08:33 -07:00
cross-crate-links.rs Remove licenses 2018-12-25 21:08:33 -07:00
default-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
default-trait-method-link.rs Remove licenses 2018-12-25 21:08:33 -07:00
default_trait_method.rs Add default keyword handling in rustdoc 2019-03-14 13:18:36 +01:00
deprecated-future.rs Add rustdoc index page test for future deprecation attributes 2019-02-11 11:17:35 +00:00
deprecated-impls.rs Remove licenses 2018-12-25 21:08:33 -07:00
deprecated.rs Rollup merge of #58166 - euclio:deprecation-shorthand, r=petrochenkov 2019-02-13 04:37:02 +01:00
doc-assoc-item.rs Remove licenses 2018-12-25 21:08:33 -07:00
doc-cfg-target-feature.rs Remove licenses 2018-12-25 21:08:33 -07:00
doc-cfg.rs Remove licenses 2018-12-25 21:08:33 -07:00
doc-proc-macro.rs Remove licenses 2018-12-25 21:08:33 -07:00
doc-spotlight.rs Remove licenses 2018-12-25 21:08:33 -07:00
doctest-manual-crate-name.rs force binary filename for compiled doctests 2019-01-04 09:57:17 -06:00
dont-show-const-contents.rs Remove licenses 2018-12-25 21:08:33 -07:00
double-quote-escape.rs Remove licenses 2018-12-25 21:08:33 -07:00
edition-doctest.rs Remove licenses 2018-12-25 21:08:33 -07:00
edition-flag.rs Remove licenses 2018-12-25 21:08:33 -07:00
empty-mod-private.rs Remove licenses 2018-12-25 21:08:33 -07:00
empty-mod-public.rs Remove licenses 2018-12-25 21:08:33 -07:00
empty-section.rs Remove licenses 2018-12-25 21:08:33 -07:00
escape-deref-methods.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-default-method.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-html-root-url.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-impl-trait.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-links.rs Remove licenses 2018-12-25 21:08:33 -07:00
extern-method.rs Remove licenses 2018-12-25 21:08:33 -07:00
external-cross.rs Remove licenses 2018-12-25 21:08:33 -07:00
external-doc.rs Remove licenses 2018-12-25 21:08:33 -07:00
ffi.rs Remove licenses 2018-12-25 21:08:33 -07:00
fn-pointer-arg-name.rs Remove licenses 2018-12-25 21:08:33 -07:00
fn-sidebar.rs Remove licenses 2018-12-25 21:08:33 -07:00
force-target-feature.rs Remove licenses 2018-12-25 21:08:33 -07:00
foreigntype-reexport.rs Remove licenses 2018-12-25 21:08:33 -07:00
foreigntype.rs Remove licenses 2018-12-25 21:08:33 -07:00
generic-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
hidden-impls.rs Remove licenses 2018-12-25 21:08:33 -07:00
hidden-line.rs Remove licenses 2018-12-25 21:08:33 -07:00
hidden-methods.rs Remove licenses 2018-12-25 21:08:33 -07:00
hidden-trait-struct-impls.rs Remove licenses 2018-12-25 21:08:33 -07:00
impl-disambiguation.rs Remove licenses 2018-12-25 21:08:33 -07:00
impl-everywhere.rs Remove licenses 2018-12-25 21:08:33 -07:00
impl-parts-crosscrate.rs Remove licenses 2018-12-25 21:08:33 -07:00
impl-parts.rs Remove licenses 2018-12-25 21:08:33 -07:00
index-page.rs Remove licenses 2018-12-25 21:08:33 -07:00
inline-default-methods.rs Remove licenses 2018-12-25 21:08:33 -07:00
internal.rs rustdoc: wrap stability tags in colored spans 2019-01-31 15:15:59 -05:00
intra-link-extern-crate.rs Remove licenses 2018-12-25 21:08:33 -07:00
intra-link-in-bodies.rs Remove licenses 2018-12-25 21:08:33 -07:00
intra-link-prim-methods.rs rustdoc: support methods on primitives in intra-doc links 2019-02-23 18:01:26 +01:00
intra-link-private.rs Remove licenses 2018-12-25 21:08:33 -07:00
intra-link-self.rs Remove licenses 2018-12-25 21:08:33 -07:00
intra-links-external-traits.rs add test for spurious intra-doc link warning 2019-03-06 10:57:38 -06:00
intra-links.rs overhaul intra-doc-link ambiguity warning 2019-03-15 14:15:06 -04:00
invalid.crate.name.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-12834.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-13698.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15169.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15318-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15318-3.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15318.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-15347.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-16019.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-16265-1.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-16265-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-17476.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-18199.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-19055.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-19181.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-19190-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-19190-3.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-19190.rs Make 'generate-redirect-pages' option unstable 2019-01-27 12:46:18 +01:00
issue-20175.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-20646.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-20727-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-20727-3.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-20727-4.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-20727.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-21092.rs Remove rustdoc old style files generation 2019-01-27 00:34:05 +01:00
issue-21474.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-21801.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-22025.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-22038.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-23106.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-23207.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-23511.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-23744.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-23812.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-25001.rs Simplify foreign type rendering. 2018-12-27 21:22:27 -08:00
issue-25944.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-26606.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-26995.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-27104.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-27362.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-27759.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-27862.rs tests: doc comments 2019-02-10 23:42:32 +00:00
issue-28478.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-28927.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-29449.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-29503.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-29584.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-30109.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-30252.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-30366.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-31808.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-31899.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-32374.rs rustdoc: wrap stability tags in colored spans 2019-01-31 15:15:59 -05:00
issue-32395.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-32556.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-32890.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33069.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33178-1.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33178.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33302.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-33592.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34025.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34274.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34423.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34473.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-34928.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-35169-2.rs Add generate-old-style-files option to rustdoc 2019-01-27 12:46:18 +01:00
issue-35169.rs Add generate-old-style-files option to rustdoc 2019-01-27 12:46:18 +01:00
issue-35488.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-36031.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-38129.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-38219.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-40936.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-41783.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-42760.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-42875.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-43153.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-43701.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-43869.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-43893.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-45584.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46271.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46377.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46380-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46380.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46727.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46766.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46767.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46976.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-47038.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-47197-blank-line-in-doc-block.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-47639.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-48377.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-48414.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-50159.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-51236.rs Simplify foreign type rendering. 2018-12-27 21:22:27 -08:00
issue-52873.rs add regression test 2018-09-25 13:54:51 -04:00
issue-53689.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-53812.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-54478-demo-allocator.rs This is a regression test for #54478. 2018-10-24 12:19:47 +02:00
issue-54705.rs Simplify foreign type rendering. 2018-12-27 21:22:27 -08:00
issue-55001.rs Fix Rustdoc ICE when checking blanket impls 2018-10-22 19:40:43 -04:00
issue-55321.rs Simplify foreign type rendering. 2018-12-27 21:22:27 -08:00
issue-56701.rs Fix stack overflow when finding blanket impls 2019-01-03 21:56:52 -05:00
issue-56822.rs Rollup merge of #56874 - JohnHeitmann:docs-spacing, r=GuillaumeGomez 2019-01-13 21:18:09 +01:00
keyword.rs Fix image link in the settings menu 2019-02-01 11:27:59 +01:00
line-breaks.rs Remove licenses 2018-12-25 21:08:33 -07:00
link-assoc-const.rs Remove licenses 2018-12-25 21:08:33 -07:00
link-title-escape.rs Remove licenses 2018-12-25 21:08:33 -07:00
macros.rs Remove rustdoc old style files generation 2019-01-27 00:34:05 +01:00
manual_impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
masked.rs Remove licenses 2018-12-25 21:08:33 -07:00
method-list.rs Remove licenses 2018-12-25 21:08:33 -07:00
mod-stackoverflow.rs Remove licenses 2018-12-25 21:08:33 -07:00
module-impls.rs Remove licenses 2018-12-25 21:08:33 -07:00
must-use.rs Remove licenses 2018-12-25 21:08:33 -07:00
namespaces.rs Remove licenses 2018-12-25 21:08:33 -07:00
negative-impl-sidebar.rs Remove licenses 2018-12-25 21:08:33 -07:00
negative-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
no-crate-filter.rs Removed more copyright notices. 2019-01-13 19:47:02 +00:00
no-run-still-checks-lints.rs Remove licenses 2018-12-25 21:08:33 -07:00
no-stack-overflow-25295.rs Moved issue tests to subdirs and normalised names. 2019-03-14 01:00:49 +00:00
nul-error.rs Remove licenses 2018-12-25 21:08:33 -07:00
playground-arg.rs Remove licenses 2018-12-25 21:08:33 -07:00
playground-empty.rs Remove licenses 2018-12-25 21:08:33 -07:00
playground-none.rs Remove licenses 2018-12-25 21:08:33 -07:00
playground.rs Remove licenses 2018-12-25 21:08:33 -07:00
prim-title.rs Remove licenses 2018-12-25 21:08:33 -07:00
primitive-generic-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
primitive-link.rs Remove licenses 2018-12-25 21:08:33 -07:00
private-type-alias.rs Remove licenses 2018-12-25 21:08:33 -07:00
proc-macro.rs add intra-doc link test to proc-macro test 2019-01-22 15:44:19 -06:00
process-termination.rs Modify doctest's auto-fn main() to allow Results 2019-02-17 16:42:49 +01:00
pub-extern-crate.rs add test for pub extern crate 2019-01-10 21:18:46 -05:00
pub-method.rs Remove licenses 2018-12-25 21:08:33 -07:00
pub-restricted.rs Remove licenses 2018-12-25 21:08:33 -07:00
pub-use-extern-macros.rs Remove licenses 2018-12-25 21:08:33 -07:00
recursion1.rs Remove licenses 2018-12-25 21:08:33 -07:00
recursion2.rs Remove licenses 2018-12-25 21:08:33 -07:00
recursion3.rs Remove licenses 2018-12-25 21:08:33 -07:00
redirect-const.rs Remove licenses 2018-12-25 21:08:33 -07:00
redirect-rename.rs Remove licenses 2018-12-25 21:08:33 -07:00
redirect.rs Moved issue tests to subdirs and normalised names. 2019-03-14 01:00:49 +00:00
remove-duplicates.rs Remove licenses 2018-12-25 21:08:33 -07:00
rustc-macro-crate.rs Remove licenses 2018-12-25 21:08:33 -07:00
rustc_deprecated-future.rs Add a rustdoc test for future rustc_deprecated attributes 2019-02-11 11:17:35 +00:00
search-index-summaries.rs Remove licenses 2018-12-25 21:08:33 -07:00
search-index.rs Remove licenses 2018-12-25 21:08:33 -07:00
short-docblock-codeblock.rs Remove licenses 2018-12-25 21:08:33 -07:00
short-dockblock.rs Remove licenses 2018-12-25 21:08:33 -07:00
sidebar-items.rs Remove licenses 2018-12-25 21:08:33 -07:00
sidebar-link-generation.rs Remove licenses 2018-12-25 21:08:33 -07:00
smoke.rs Remove licenses 2018-12-25 21:08:33 -07:00
sort-modules-by-appearance.rs Remove licenses 2018-12-25 21:08:33 -07:00
source-file.rs Remove licenses 2018-12-25 21:08:33 -07:00
src-links-external.rs Remove licenses 2018-12-25 21:08:33 -07:00
src-links.rs Remove rustdoc old style files generation 2019-01-27 00:34:05 +01:00
stability.rs rustdoc: remove blank unstable spans 2019-01-28 13:04:05 -05:00
static-root-path.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct-field.rs Remove licenses 2018-12-25 21:08:33 -07:00
structfields.rs Make 'generate-redirect-pages' option unstable 2019-01-27 12:46:18 +01:00
test-lists.rs Remove licenses 2018-12-25 21:08:33 -07:00
test-parens.rs Remove licenses 2018-12-25 21:08:33 -07:00
titles.rs Remove licenses 2018-12-25 21:08:33 -07:00
trait-attributes.rs Remove licenses 2018-12-25 21:08:33 -07:00
trait-self-link.rs Remove licenses 2018-12-25 21:08:33 -07:00
trait_alias.rs Remove spotlight for trait aliases and fix nits 2019-02-10 16:56:21 +01:00
traits-in-bodies-private.rs Remove licenses 2018-12-25 21:08:33 -07:00
traits-in-bodies.rs Remove licenses 2018-12-25 21:08:33 -07:00
tuples.rs Remove licenses 2018-12-25 21:08:33 -07:00
typedef.rs Remove licenses 2018-12-25 21:08:33 -07:00
union.rs Remove licenses 2018-12-25 21:08:33 -07:00
unit-return.rs Remove licenses 2018-12-25 21:08:33 -07:00
universal-impl-trait.rs Remove licenses 2018-12-25 21:08:33 -07:00
unneeded-trait-implementations-title.rs Remove licenses 2018-12-25 21:08:33 -07:00
use-attr.rs don't try to get a DefId for a Def that doesn't have one 2019-02-01 11:17:33 -06:00
useless_lifetime_bound.rs Add test from #59033 2019-04-03 22:18:41 +02:00
variadic.rs Support defining C compatible variadic functions 2019-02-27 10:21:35 -05:00
viewpath-rename.rs Remove licenses 2018-12-25 21:08:33 -07:00
viewpath-self.rs Remove licenses 2018-12-25 21:08:33 -07:00
where-sized.rs Remove licenses 2018-12-25 21:08:33 -07:00
where.rs Remove licenses 2018-12-25 21:08:33 -07:00
without-redirect.rs put back macro redirect 2019-02-09 14:29:03 +01:00
wrapping.rs respect alternate flag when formatting impl trait 2019-02-12 13:45:36 -05:00