Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit cba164c

Browse files
Rollup merge of rust-lang#123162 - GuillaumeGomez:fix-123158, r=notriddle
Correctly get complete intra-doc link data Fixes rust-lang#123158. The problem was that we didn't take into account cases where there would be content other than backticks into the intra doc link definition. r? `@notriddle`
2 parents 1ec73f0 + f1cfbdb commit cba164c

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

‎src/librustdoc/passes/lint/redundant_explicit_links.rs‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ fn check_redundant_explicit_link<'md>(
9090
) -> Option<()> {
9191
let mut broken_line_callback = |link: BrokenLink<'md>| Some((link.reference, "".into()));
9292
let mut offset_iter = Parser::new_with_broken_link_callback(
93-
&doc,
93+
doc,
9494
main_body_opts(),
9595
Some(&mut broken_line_callback),
9696
)
@@ -264,6 +264,7 @@ fn collect_link_data(offset_iter: &mut OffsetIter<'_, '_>) -> LinkData {
264264
let mut resolvable_link = None;
265265
let mut resolvable_link_range = None;
266266
let mut display_link = String::new();
267+
let mut is_resolvable = true;
267268

268269
while let Some((event, range)) = offset_iter.next() {
269270
match event {
@@ -281,13 +282,23 @@ fn collect_link_data(offset_iter: &mut OffsetIter<'_, '_>) -> LinkData {
281282
resolvable_link = Some(code);
282283
resolvable_link_range = Some(range);
283284
}
285+
Event::Start(_) => {
286+
// If there is anything besides backticks, it's not considered as an intra-doc link
287+
// so we ignore it.
288+
is_resolvable = false;
289+
}
284290
Event::End(_) => {
285291
break;
286292
}
287293
_ => {}
288294
}
289295
}
290296

297+
if !is_resolvable {
298+
resolvable_link_range = None;
299+
resolvable_link = None;
300+
}
301+
291302
LinkData { resolvable_link, resolvable_link_range, display_link }
292303
}
293304

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
//@ check-pass
2+
3+
// Regression test for <https://github.com/rust-lang/rust/issues/123158>. It
4+
// should not emit any warning.
5+
6+
//! [**`SomeTrait`**](SomeTrait):
7+
8+
pub trait SomeTrait {}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /