diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-06-04 17:46:41 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2025-06-11 13:44:22 +0200 |
| commit | f1ceb07a7db3f8eb94da1369f1ea20da49213d8e (patch) | |
| tree | 2a5211dc9e1217ab48be97370a4538c487c757ec | |
| parent | 89e351041033417cee43deeaa32d5527604bc22e (diff) | |
| download | rust-f1ceb07a7db3f8eb94da1369f1ea20da49213d8e.tar.gz rust-f1ceb07a7db3f8eb94da1369f1ea20da49213d8e.zip | |
Update extracted-doctest feature documentation
| -rw-r--r-- | src/doc/rustdoc/src/unstable-features.md | 24 | ||||
| -rw-r--r-- | src/librustdoc/doctest/tests.rs | 1 |
2 files changed, 20 insertions, 5 deletions
diff --git a/src/doc/rustdoc/src/unstable-features.md b/src/doc/rustdoc/src/unstable-features.md index 69e5a5adbec..27910ad0ab7 100644 --- a/src/doc/rustdoc/src/unstable-features.md +++ b/src/doc/rustdoc/src/unstable-features.md @@ -581,7 +581,9 @@ For this rust code: ```rust /// ``` +/// #![allow(dead_code)] /// let x = 12; +/// Ok(()) /// ``` pub trait Trait {} ``` @@ -590,10 +592,10 @@ The generated output (formatted) will look like this: ```json { - "format_version": 1, + "format_version": 2, "doctests": [ { - "file": "foo.rs", + "file": "src/lib.rs", "line": 1, "doctest_attributes": { "original": "", @@ -609,9 +611,17 @@ The generated output (formatted) will look like this: "added_css_classes": [], "unknown": [] }, - "original_code": "let x = 12;", - "doctest_code": "#![allow(unused)]\nfn main() {\nlet x = 12;\n}", - "name": "foo.rs - Trait (line 1)" + "original_code": "#![allow(dead_code)]\nlet x = 12;\nOk(())", + "doctest_code": { + "crate_level": "#![allow(unused)]\n#![allow(dead_code)]\n\n", + "code": "let x = 12;\nOk(())", + "wrapper": { + "before": "fn main() { fn _inner() -> core::result::Result<(), impl core::fmt::Debug> {\n", + "after": "\n} _inner().unwrap() }", + "returns_result": true + } + }, + "name": "src/lib.rs - (line 1)" } ] } @@ -624,6 +634,10 @@ The generated output (formatted) will look like this: * `doctest_attributes` contains computed information about the attributes used on the doctests. For more information about doctest attributes, take a look [here](write-documentation/documentation-tests.html#attributes). * `original_code` is the code as written in the source code before rustdoc modifies it. * `doctest_code` is the code modified by rustdoc that will be run. If there is a fatal syntax error, this field will not be present. + * `crate_level` is the crate level code (like attributes or `extern crate`) that will be added at the top-level of the generated doctest. + * `code` is "naked" doctest without anything from `crate_level` and `wrapper` content. + * `wrapper` contains extra code that will be added before and after `code`. + * `returns_result` is a boolean. If `true`, it means that the doctest returns a `Result` type. * `name` is the name generated by rustdoc which represents this doctest. ### html diff --git a/src/librustdoc/doctest/tests.rs b/src/librustdoc/doctest/tests.rs index efc6b2da122..ccc3e55a331 100644 --- a/src/librustdoc/doctest/tests.rs +++ b/src/librustdoc/doctest/tests.rs @@ -478,6 +478,7 @@ fn get_extracted_doctests(code: &str) -> ExtractedDocTests { LangString::default(), code.to_string(), DUMMY_SP, + Vec::new(), ), &opts, Edition::Edition2018, |
