diff options
| author | Dennis Hamester <dennis.hamester@gmail.com> | 2020-07-22 19:53:43 +0200 |
|---|---|---|
| committer | Dennis Hamester <dennis.hamester@gmail.com> | 2020-07-22 21:40:51 +0200 |
| commit | c14641a814696f6dffe5a0e7d693af31a4e40d09 (patch) | |
| tree | 86aecba96300b9b009e0efbad1cf6bfc04bcb436 | |
| parent | ed53de029cf84651423007ec68305d6e772c819f (diff) | |
| download | rust-c14641a814696f6dffe5a0e7d693af31a4e40d09.tar.gz rust-c14641a814696f6dffe5a0e7d693af31a4e40d09.zip | |
rustdoc: Add explanation when linting against public to private item links
The additional note helps explaining why the lint was triggered and that --document-private-items directly influences the link resolution.
5 files changed, 11 insertions, 0 deletions
diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs index 8e113cfa563..5187839423d 100644 --- a/src/librustdoc/passes/collect_intra_doc_links.rs +++ b/src/librustdoc/passes/collect_intra_doc_links.rs @@ -1076,6 +1076,13 @@ fn privacy_error( if let Some(sp) = sp { diag.span_label(sp, "this item is private"); } + + let note_msg = if cx.render_options.document_private { + "this link resolves only because you passed `--document-private-items`, but will break without" + } else { + "this link will resolve properly if you pass `--document-private-items`" + }; + diag.note(note_msg); }); } diff --git a/src/test/rustdoc-ui/intra-links-private.private.stderr b/src/test/rustdoc-ui/intra-links-private.private.stderr index 6a23afb0798..a2148b82f81 100644 --- a/src/test/rustdoc-ui/intra-links-private.private.stderr +++ b/src/test/rustdoc-ui/intra-links-private.private.stderr @@ -5,6 +5,7 @@ LL | /// docs [DontDocMe] | ^^^^^^^^^ this item is private | = note: `#[warn(intra_doc_link_resolution_failure)]` on by default + = note: this link resolves only because you passed `--document-private-items`, but will break without warning: 1 warning emitted diff --git a/src/test/rustdoc-ui/intra-links-private.public.stderr b/src/test/rustdoc-ui/intra-links-private.public.stderr index 6a23afb0798..56742406992 100644 --- a/src/test/rustdoc-ui/intra-links-private.public.stderr +++ b/src/test/rustdoc-ui/intra-links-private.public.stderr @@ -5,6 +5,7 @@ LL | /// docs [DontDocMe] | ^^^^^^^^^ this item is private | = note: `#[warn(intra_doc_link_resolution_failure)]` on by default + = note: this link will resolve properly if you pass `--document-private-items` warning: 1 warning emitted diff --git a/src/test/rustdoc-ui/issue-74134.private.stderr b/src/test/rustdoc-ui/issue-74134.private.stderr index 3c41f7e63e6..9c5cdf0117c 100644 --- a/src/test/rustdoc-ui/issue-74134.private.stderr +++ b/src/test/rustdoc-ui/issue-74134.private.stderr @@ -5,6 +5,7 @@ LL | /// [`PrivateType`] | ^^^^^^^^^^^^^ this item is private | = note: `#[warn(intra_doc_link_resolution_failure)]` on by default + = note: this link resolves only because you passed `--document-private-items`, but will break without warning: 1 warning emitted diff --git a/src/test/rustdoc-ui/issue-74134.public.stderr b/src/test/rustdoc-ui/issue-74134.public.stderr index 3c41f7e63e6..ff2951d864e 100644 --- a/src/test/rustdoc-ui/issue-74134.public.stderr +++ b/src/test/rustdoc-ui/issue-74134.public.stderr @@ -5,6 +5,7 @@ LL | /// [`PrivateType`] | ^^^^^^^^^^^^^ this item is private | = note: `#[warn(intra_doc_link_resolution_failure)]` on by default + = note: this link will resolve properly if you pass `--document-private-items` warning: 1 warning emitted |
