Closed
Description
Steps to reproduce
- Apply this quick patch diff to see the issue:
diff --git a/src/librustdoc/passes/lint/bare_urls.rs b/src/librustdoc/passes/lint/bare_urls.rs
index e9cee92d22b..4c2583f8eac 100644
--- a/src/librustdoc/passes/lint/bare_urls.rs
+++ b/src/librustdoc/passes/lint/bare_urls.rs
@@ -2,6 +2,7 @@
//! Suggests wrapping the link with angle brackets: `Go to <https://example.com/>.` to linkify it.
use crate::clean::*;
+use crate::clean::utils::find_nearest_parent_module;
use crate::core::DocContext;
use crate::html::markdown::main_body_opts;
use crate::passes::source_span_for_markdown_range;
@@ -9,6 +10,7 @@
use pulldown_cmark::{Event, Parser, Tag};
use regex::Regex;
use rustc_errors::Applicability;
+use rustc_hir::def::DefKind;
use std::mem;
use std::sync::LazyLock;
@@ -35,8 +37,19 @@ pub(super) fn visit_item(cx: &DocContext<'_>, item: &Item) {
});
};
+ let Some(item_id) = item.def_id()
+ else {
+ return;
+ };
+ let module_id = match cx.tcx.def_kind(item_id) {
+ DefKind::Mod if item.inner_docs(cx.tcx) => item_id,
+ _ => find_nearest_parent_module(cx.tcx, item_id).unwrap(),
+ };
+
let mut p = Parser::new_ext(&dox, main_body_opts()).into_offset_iter();
+ println!("{} /--/ {}", cx.tcx.def_path_debug_str(module_id), item.doc_value());
+
while let Some((event, range)) = p.next() {
match event {
Event::Text(s) => find_raw_urls(cx, &s, range, &report_diag),
- Run
x test tests\rustdoc-ui\issues\issue-109282-import-inline-merge.rs
- See stdout for more details.
You will see that module m
has a link [`EnumValue`]
while m
does not have any document.
Relates to
- Discovered in rustdoc: Add lint
redundant_explicit_links
#113167 - Occurred in minimum reproduction code provided in rustdoc ICE:
no resolutions for a doc link
#108378
Meta
rustc --version --verbose
:
rustc 1.72.0-nightly (101fa903b 2023-06-04)
binary: rustc
commit-hash: 101fa903bb9209d270086da279247625a2869211
commit-date: 2023-06-04
host: x86_64-pc-windows-msvc
release: 1.72.0-nightly
LLVM version: 16.0.4
Backtrace
Testing stage1 compiletest suite=rustdoc-ui mode=ui (x86_64-pc-windows-msvc)
running 1 tests
F
failures:
---- [ui] tests\rustdoc-ui\issues\issue-109282-import-inline-merge.rs stdout ----
normalized stdout:
issue_109282_import_inline_merge[3240]::m2 /--/ [`ValueEnum`]
issue_109282_import_inline_merge[3240]::m /--/ [`ValueEnum`]
The actual stdout differed from the expected stdout.
Actual stdout saved to D:\projects\rs\rust\build\x86_64-pc-windows-msvc\test\rustdoc-ui\issues\issue-109282-import-inline-merge\issue-109282-import-inline-merge.stdout
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args issues\issue-109282-import-inline-merge.rs`
error: 1 errors occurred comparing output.
status: exit code: 0
command: PATH="D:\projects\rs\rust\build\x86_64-pc-windows-msvc\stage1\bin;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64;D:\projects\rs\rust\build\x86_64-pc-windows-msvc\stage0-bootstrap-tools\x86_64-pc-windows-msvc\release\deps;D:\projects\rs\rust\build\x86_64-pc-windows-msvc\stage0\bin;C:\Users\chaos\.oh-my-posh;C:\Program Files\WindowsApps\Microsoft.PowerShell_7.3.5.0_x64__8wekyb3d8bbwe;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Python311\Scripts\;C:\Python311\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\ProgramData\chocolatey\bin;C:\Program Files\Java\jdk-17\bin;C:\Program Files\dotnet\;C:\Program Files\Neovim\/bin;C:\Program Files\nodejs\;C:\Program Files\Go\bin;D:\projects\v\v\.bin;C:\Users\chaos\projects\v\v\.bin;C:\Users\chaos\.cargo\bin;C:\Users\chaos\scoop\apps\gsudo\current;C:\Users\chaos\projects\v\.bin;C:\Users\chaos\scoop\shims;C:\Users\chaos\AppData\Local\Microsoft\WindowsApps;C:\Program Files\mingw-w64\bin;C:\Program Files\CMake\bin;C:\Program Files (x86)\Dr. Memory\bin;C:\Program Files\JetBrains\IntelliJ IDEA 2021.3.2\bin;C:\Users\chaos\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\chaos\.dotnet\tools;C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin;C:\Users\chaos\AppData\Roaming\npm;C:\Users\chaos\AppData\Local\Coursier\data\bin;C:\Users\chaos\AppData\Local\JetBrains\Toolbox\scripts;C:\Users\chaos\go\bin;C:\Users\chaos\.deno\bin;C:\Users\chaos\.dotnet\tools;C:\Program Files\Java\jdk-17.0.2\bin\server;C:\altera\13.1\modelsim_ase\win32aloem;C:\Users\chaos\AppData\Local\Microsoft\WindowsApps;D:\qemu" "D:\\projects\\rs\\rust\\build\\x86_64-pc-windows-msvc\\stage1\\bin\\rustdoc.exe" "D:\\projects\\rs\\rust\\tests\\rustdoc-ui\\issues\\issue-109282-import-inline-merge.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "--sysroot" "D:\\projects\\rs\\rust\\build\\x86_64-pc-windows-msvc\\stage1" "--target=x86_64-pc-windows-msvc" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "-o" "D:\\projects\\rs\\rust\\build\\x86_64-pc-windows-msvc\\test\\rustdoc-ui\\issues\\issue-109282-import-inline-merge" "-Cdebuginfo=0" "-Lnative=D:\\projects\\rs\\rust\\build\\x86_64-pc-windows-msvc\\native\\rust-test-helpers" "-L" "D:\\projects\\rs\\rust\\build\\x86_64-pc-windows-msvc\\test\\rustdoc-ui\\issues\\issue-109282-import-inline-merge\\auxiliary"
--- stdout -------------------------------
issue_109282_import_inline_merge[3240]::m2 /--/ [`ValueEnum`]
issue_109282_import_inline_merge[3240]::m /--/ [`ValueEnum`]
------------------------------------------
stderr: none
failures:
[ui] tests\rustdoc-ui\issues\issue-109282-import-inline-merge.rs
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 227 filtered out; finished in 511.48ms
Some tests failed in compiletest suite=rustdoc-ui mode=ui host=x86_64-pc-windows-msvc target=x86_64-pc-windows-msvc
Build completed unsuccessfully in 0:02:29