Skip to content

Commit d4aecf5

Browse files
Fix block code headers parsing
1 parent 666e714 commit d4aecf5

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

src/librustdoc/html/markdown.rs

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -471,20 +471,26 @@ impl LangString {
471471
for token in tokens {
472472
match token {
473473
"" => {},
474-
"should_panic" => { data.should_panic = true; seen_rust_tags = true; },
475-
"no_run" => { data.no_run = true; seen_rust_tags = true; },
476-
"ignore" => { data.ignore = true; seen_rust_tags = true; },
477-
"rust" => { data.rust = true; seen_rust_tags = true; },
478-
"test_harness" => { data.test_harness = true; seen_rust_tags = true; },
474+
"should_panic" => {
475+
data.should_panic = true;
476+
seen_rust_tags = seen_other_tags == false;
477+
}
478+
"no_run" => { data.no_run = true; seen_rust_tags = seen_other_tags == false; }
479+
"ignore" => { data.ignore = true; seen_rust_tags = seen_other_tags == false; }
480+
"rust" => { data.rust = true; seen_rust_tags = true; }
481+
"test_harness" => {
482+
data.test_harness = true;
483+
seen_rust_tags = seen_other_tags == false || seen_rust_tags == true;
484+
}
479485
"compile_fail" if allow_compile_fail => {
480486
data.compile_fail = true;
481-
seen_rust_tags = true;
487+
seen_rust_tags = seen_other_tags == false || seen_rust_tags == true;
482488
data.no_run = true;
483489
}
484490
x if allow_error_code_check && x.starts_with("E") && x.len() == 5 => {
485491
if let Ok(_) = x[1..].parse::<u32>() {
486492
data.error_codes.push(x.to_owned());
487-
seen_rust_tags = true;
493+
seen_rust_tags = seen_other_tags == false || seen_rust_tags == true;
488494
} else {
489495
seen_other_tags = true;
490496
}
@@ -670,9 +676,10 @@ mod tests {
670676
t("test_harness", false, false, false, true, true, false, Vec::new());
671677
t("compile_fail", false, true, false, true, false, true, Vec::new());
672678
t("{.no_run .example}", false, true, false, true, false, false, Vec::new());
673-
t("{.sh .should_panic}", true, false, false, true, false, false, Vec::new());
679+
t("{.sh .should_panic}", true, false, false, false, false, false, Vec::new());
674680
t("{.example .rust}", false, false, false, true, false, false, Vec::new());
675681
t("{.test_harness .rust}", false, false, false, true, true, false, Vec::new());
682+
t("text, no_run", false, true, false, false, false, false, Vec::new());
676683
}
677684

678685
#[test]

0 commit comments

Comments
 (0)