about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/formats/cache.rs3
-rw-r--r--src/test/rustdoc-js-std/asrawfd.js14
2 files changed, 16 insertions, 1 deletions
diff --git a/src/librustdoc/formats/cache.rs b/src/librustdoc/formats/cache.rs
index 30190138750..862f0ecd0de 100644
--- a/src/librustdoc/formats/cache.rs
+++ b/src/librustdoc/formats/cache.rs
@@ -293,7 +293,8 @@ impl<'a, 'tcx> DocFolder for CacheBuilder<'a, 'tcx> {
                                 ItemType::Trait
                                 | ItemType::Struct
                                 | ItemType::Union
-                                | ItemType::Enum,
+                                | ItemType::Enum
+                                | ItemType::Typedef,
                             )) => Some(&fqp[..fqp.len() - 1]),
                             Some(..) => Some(&*self.cache.stack),
                             None => None,
diff --git a/src/test/rustdoc-js-std/asrawfd.js b/src/test/rustdoc-js-std/asrawfd.js
new file mode 100644
index 00000000000..37168fc4937
--- /dev/null
+++ b/src/test/rustdoc-js-std/asrawfd.js
@@ -0,0 +1,14 @@
+// exact-match
+
+const QUERY = 'RawFd::as_raw_fd';
+
+const EXPECTED = {
+    'others': [
+        // Reproduction test for https://github.com/rust-lang/rust/issues/78724
+        // Validate that type alias methods get the correct path.
+        { 'path': 'std::os::unix::io::AsRawFd', 'name': 'as_raw_fd' },
+        { 'path': 'std::os::wasi::io::AsRawFd', 'name': 'as_raw_fd' },
+        { 'path': 'std::os::linux::process::PidFd', 'name': 'as_raw_fd' },
+        { 'path': 'std::os::unix::io::RawFd', 'name': 'as_raw_fd' },
+    ],
+};