diff options
| author | bors <bors@rust-lang.org> | 2025-08-24 19:46:17 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-08-24 19:46:17 +0000 |
| commit | 809200ec956983fce4ae178b87dada69f01d0820 (patch) | |
| tree | ff7af177ca1d408d078cc571cb54249ce3a67025 /tests/rustdoc | |
| parent | 3776358beb5747d938bdefaf47a1c76723e6a372 (diff) | |
| parent | d0913c571cde92c4d0db6b1bac94ac320c0e9d2e (diff) | |
| download | rust-809200ec956983fce4ae178b87dada69f01d0820.tar.gz rust-809200ec956983fce4ae178b87dada69f01d0820.zip | |
Auto merge of #137229 - GuillaumeGomez:expand-macro, r=lolbinarycat
Add support for macro expansion in rustdoc source code pages This is what it looks like:   You can test it [here](https://rustdoc.crud.net/imperio/macro-expansion/src/lib/lib.rs.html). In this case, I also enabled the `--generate-link-to-definition` to show that both options work well together. Note: <del>There is a bug currently in firefox where the line numbers are not displayed correctly if they're inside the "macro expansion" span: https://bugzilla.mozilla.org/show_bug.cgi?id=1949948<del> Found a workaround around this bug. r? `@notriddle`
Diffstat (limited to 'tests/rustdoc')
| -rw-r--r-- | tests/rustdoc/macro/macro_expansion.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/rustdoc/macro/macro_expansion.rs b/tests/rustdoc/macro/macro_expansion.rs new file mode 100644 index 00000000000..c989ccad967 --- /dev/null +++ b/tests/rustdoc/macro/macro_expansion.rs @@ -0,0 +1,28 @@ +// This test checks that patterns and statements are also getting expanded. + +//@ compile-flags: -Zunstable-options --generate-macro-expansion + +#![crate_name = "foo"] + +//@ has 'src/foo/macro_expansion.rs.html' +//@ count - '//span[@class="expansion"]' 2 + +macro_rules! pat { + ($x:literal) => { + Some($x) + } +} + +macro_rules! stmt { + ($x:expr) => {{ + let _ = $x; + }} +} + +fn bar() { + match Some("hello") { + pat!("blolb") => {} + _ => {} + } + stmt!(1) +} |
