diff options
| author | Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> | 2025-04-10 11:10:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-10 11:10:19 +0200 |
| commit | d7171bc8ce4dc9b5e7054254984e2f011a6cdd50 (patch) | |
| tree | 5cb417b536d23c5afa8ff24525cb8f3a756f3dc8 | |
| parent | e3bcfbf3cff95caa6cc24f0ab259a0c84651c1ae (diff) | |
| parent | 8b227a42fa2833581cd70cdc186ccc34e251a74e (diff) | |
| download | rust-d7171bc8ce4dc9b5e7054254984e2f011a6cdd50.tar.gz rust-d7171bc8ce4dc9b5e7054254984e2f011a6cdd50.zip | |
Rollup merge of #139592 - camelid:doctest-md-opts, r=notriddle
rustdoc: Enable Markdown extensions when looking for doctests Fixes #139064. We should enable these to avoid misinterpreting uses of the extended syntax as code blocks. This happens in practice with multi-paragraph footnotes, as discovered in #139064.
| -rw-r--r-- | src/librustdoc/html/markdown.rs | 2 | ||||
| -rw-r--r-- | tests/rustdoc-ui/multi-par-footnote.rs | 18 | ||||
| -rw-r--r-- | tests/rustdoc-ui/multi-par-footnote.stdout | 5 |
3 files changed, 24 insertions, 1 deletions
diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs index 334a7a86989..44134bda5ea 100644 --- a/src/librustdoc/html/markdown.rs +++ b/src/librustdoc/html/markdown.rs @@ -721,7 +721,7 @@ pub(crate) fn find_codes<T: doctest::DocTestVisitor>( extra_info: Option<&ExtraInfo<'_>>, include_non_rust: bool, ) { - let mut parser = Parser::new(doc).into_offset_iter(); + let mut parser = Parser::new_ext(doc, main_body_opts()).into_offset_iter(); let mut prev_offset = 0; let mut nb_lines = 0; let mut register_header = None; diff --git a/tests/rustdoc-ui/multi-par-footnote.rs b/tests/rustdoc-ui/multi-par-footnote.rs new file mode 100644 index 00000000000..bb6a85db0db --- /dev/null +++ b/tests/rustdoc-ui/multi-par-footnote.rs @@ -0,0 +1,18 @@ +//@ check-pass +//@ compile-flags:--test +//@ normalize-stdout: "finished in \d+\.\d+s" -> "finished in $$TIME" +// Regression test for #139064. + +/// Example +/// +/// Footnote with multiple paragraphs[^multiple] +/// +/// [^multiple]: +/// One +/// +/// Two +/// +/// Three +pub fn add(left: u64, right: u64) -> u64 { + left + right +} diff --git a/tests/rustdoc-ui/multi-par-footnote.stdout b/tests/rustdoc-ui/multi-par-footnote.stdout new file mode 100644 index 00000000000..7326c0a25a0 --- /dev/null +++ b/tests/rustdoc-ui/multi-par-footnote.stdout @@ -0,0 +1,5 @@ + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in $TIME + |
