about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonathan Brouwer <jonathantbrouwer@gmail.com>2025-06-27 12:29:26 +0200
committerJosh Stone <jistone@redhat.com>2025-07-17 14:02:06 -0700
commitd49946852525dd19d7714b9eeebde5501b467c42 (patch)
tree695ffbbc1f71c8f64a1f06bd6825a080a338c7ea
parent7e0eb3bc6df7199c908eb095ff63635e4c2239b0 (diff)
downloadrust-d49946852525dd19d7714b9eeebde5501b467c42.tar.gz
rust-d49946852525dd19d7714b9eeebde5501b467c42.zip
Fix rustdoc not correctly showing attributes with re-exports
Signed-off-by: Jonathan Brouwer <jonathantbrouwer@gmail.com>
(cherry picked from commit 58418d881a91e9f37b0c8fd07f0218850725efda)
-rw-r--r--src/librustdoc/clean/mod.rs3
-rw-r--r--tests/rustdoc/attributes-re-export.rs13
2 files changed, 15 insertions, 1 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs
index d77bdf09d01..558cedb3190 100644
--- a/src/librustdoc/clean/mod.rs
+++ b/src/librustdoc/clean/mod.rs
@@ -2746,7 +2746,8 @@ fn add_without_unwanted_attributes<'hir>(
                     attrs.push((Cow::Owned(attr), import_parent));
                 }
             }
-            hir::Attribute::Parsed(..) if is_inline => {
+            // FIXME: make sure to exclude `#[cfg_trace]` here when it is ported to the new parsers
+            hir::Attribute::Parsed(..) => {
                 attrs.push((Cow::Owned(attr), import_parent));
             }
             _ => {}
diff --git a/tests/rustdoc/attributes-re-export.rs b/tests/rustdoc/attributes-re-export.rs
new file mode 100644
index 00000000000..458826ea8a3
--- /dev/null
+++ b/tests/rustdoc/attributes-re-export.rs
@@ -0,0 +1,13 @@
+// Tests that attributes are correctly copied onto a re-exported item.
+//@ edition:2021
+#![crate_name = "re_export"]
+
+//@ has 're_export/fn.thingy2.html' '//pre[@class="rust item-decl"]' '#[no_mangle]'
+pub use thingymod::thingy as thingy2;
+
+mod thingymod {
+    #[no_mangle]
+    pub fn thingy() {
+
+    }
+}