Skip to content

Commit c43efee

Browse files
committed
auto merge of #20183 : japaric/rust/doctests, r=alexcrichton
#20075 introduced a bug where unmarked code fences weren't considered as doctests. This PR fixes the logic. --- This passed `check-stage1-rustdoc`, and I manually checked that: ``` rust //! ``` //! println!("Hello") //! ``` //! //! ``` rust //! println!("Hello") //! ``` //! //! ``` sh //! println!("Hello") //! ``` //! //! ``` ignore //! println!("Hello") //! ``` ``` Generated: ``` rust running 3 tests test _2 ... ignored test _0 ... ok test _1 ... ok ``` I'd love to add that as a test, but I have no idea how to do that with our testing infrastructure. If anyone knows how, do let me know! r? @alexcrichton @seanmonstar feedback?
2 parents 5ba6102 + 86d8579 commit c43efee

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

src/librustdoc/html/markdown.rs

+14-13
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ impl LangString {
387387
should_fail: false,
388388
no_run: false,
389389
ignore: false,
390-
rust: false,
390+
rust: true, // NB This used to be `notrust = false`
391391
test_harness: false,
392392
}
393393
}
@@ -413,7 +413,7 @@ impl LangString {
413413
}
414414
}
415415

416-
data.rust |= !seen_other_tags || seen_rust_tags;
416+
data.rust &= !seen_other_tags || seen_rust_tags;
417417

418418
data
419419
}
@@ -465,17 +465,18 @@ mod tests {
465465
})
466466
}
467467

468-
t("", false,false,false,true,false);
469-
t("rust", false,false,false,true,false);
470-
t("sh", false,false,false,false,false);
471-
t("ignore", false,false,true,true,false);
472-
t("should_fail", true,false,false,true,false);
473-
t("no_run", false,true,false,true,false);
474-
t("test_harness", false,false,false,true,true);
475-
t("{.no_run .example}", false,true,false,true,false);
476-
t("{.sh .should_fail}", true,false,false,true,false);
477-
t("{.example .rust}", false,false,false,true,false);
478-
t("{.test_harness .rust}", false,false,false,true,true);
468+
// marker | should_fail | no_run | ignore | rust | test_harness
469+
t("", false, false, false, true, false);
470+
t("rust", false, false, false, true, false);
471+
t("sh", false, false, false, false, false);
472+
t("ignore", false, false, true, true, false);
473+
t("should_fail", true, false, false, true, false);
474+
t("no_run", false, true, false, true, false);
475+
t("test_harness", false, false, false, true, true);
476+
t("{.no_run .example}", false, true, false, true, false);
477+
t("{.sh .should_fail}", true, false, false, true, false);
478+
t("{.example .rust}", false, false, false, true, false);
479+
t("{.test_harness .rust}", false, false, false, true, true);
479480
}
480481

481482
#[test]

0 commit comments

Comments
 (0)