Dedup a rustdoc diagnostic construction
This commit is contained in:
parent
74e35d2700
commit
ad096d1a0e
1 changed files with 8 additions and 22 deletions
|
@ -458,26 +458,18 @@ fn resolution_failure(
|
|||
link_range: Option<Range<usize>>,
|
||||
) {
|
||||
let sp = span_of_attrs(attrs);
|
||||
let msg = format!("`[{}]` cannot be resolved, ignoring it...", path_str);
|
||||
|
||||
let mut diag = if let Some(link_range) = link_range {
|
||||
let mut diag = cx.tcx.struct_span_lint_node(
|
||||
lint::builtin::INTRA_DOC_LINK_RESOLUTION_FAILURE,
|
||||
NodeId::from_u32(0),
|
||||
sp,
|
||||
&format!("`[{}]` cannot be resolved, ignoring it...", path_str),
|
||||
);
|
||||
if let Some(link_range) = link_range {
|
||||
if let Some(sp) = super::source_span_for_markdown_range(cx, dox, &link_range, attrs) {
|
||||
let mut diag = cx.tcx.struct_span_lint_node(
|
||||
lint::builtin::INTRA_DOC_LINK_RESOLUTION_FAILURE,
|
||||
NodeId::from_u32(0),
|
||||
sp,
|
||||
&msg,
|
||||
);
|
||||
diag.set_span(sp);
|
||||
diag.span_label(sp, "cannot be resolved, ignoring");
|
||||
diag
|
||||
} else {
|
||||
let mut diag = cx.tcx.struct_span_lint_node(
|
||||
lint::builtin::INTRA_DOC_LINK_RESOLUTION_FAILURE,
|
||||
NodeId::from_u32(0),
|
||||
sp,
|
||||
&msg,
|
||||
);
|
||||
|
||||
// blah blah blah\nblah\nblah [blah] blah blah\nblah blah
|
||||
// ^ ~~~~
|
||||
// | link_range
|
||||
|
@ -494,13 +486,7 @@ fn resolution_failure(
|
|||
before=link_range.start - last_new_line_offset,
|
||||
found=link_range.len(),
|
||||
));
|
||||
diag
|
||||
}
|
||||
} else {
|
||||
cx.tcx.struct_span_lint_node(lint::builtin::INTRA_DOC_LINK_RESOLUTION_FAILURE,
|
||||
NodeId::from_u32(0),
|
||||
sp,
|
||||
&msg)
|
||||
};
|
||||
diag.help("to escape `[` and `]` characters, just add '\\' before them like \
|
||||
`\\[` or `\\]`");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue