about summary refs log tree commit diff
path: root/tests/rustdoc/inline_local
diff options
context:
space:
mode:
authorMichael Howell <michael@notriddle.com>2025-01-06 11:56:13 -0700
committerMichael Howell <michael@notriddle.com>2025-01-06 11:58:52 -0700
commitc7a806ad081947c77b415c0097cbbd3925ac759b (patch)
treee7b3a461200237a26fb74e1fc0888bca892b16f1 /tests/rustdoc/inline_local
parent243d2ca4db6f96d2d18aaf3a2381251d38eb6b0b (diff)
downloadrust-c7a806ad081947c77b415c0097cbbd3925ac759b.tar.gz
rust-c7a806ad081947c77b415c0097cbbd3925ac759b.zip
rustdoc: use stable paths as preferred canonical paths
This accomplishes something like 16a4ad7d7b0d163f7be6803c786c3b83d42913bb,
but with the `rustc_allowed_through_unstable_modules` attribute instead
of the path length.
Diffstat (limited to 'tests/rustdoc/inline_local')
-rw-r--r--tests/rustdoc/inline_local/fully-stable-path-is-better.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/rustdoc/inline_local/fully-stable-path-is-better.rs b/tests/rustdoc/inline_local/fully-stable-path-is-better.rs
new file mode 100644
index 00000000000..88b0b0d57b0
--- /dev/null
+++ b/tests/rustdoc/inline_local/fully-stable-path-is-better.rs
@@ -0,0 +1,40 @@
+//! Test case for [134702]
+//!
+//! [134702]: https://github.com/rust-lang/rust/issues/134702
+#![crate_name = "foo"]
+#![stable(since = "1.0", feature = "v1")]
+
+#![feature(staged_api, rustc_attrs)]
+
+#[stable(since = "1.0", feature = "stb1")]
+pub mod stb1 {
+    #[doc(inline)]
+    #[stable(since = "1.0", feature = "stb1")]
+    pub use crate::uns::Inside1;
+}
+
+#[unstable(feature = "uns", issue = "135003")]
+pub mod uns {
+    #[stable(since = "1.0", feature = "stb1")]
+    #[rustc_allowed_through_unstable_modules]
+    pub struct Inside1;
+    #[stable(since = "1.0", feature = "stb2")]
+    #[rustc_allowed_through_unstable_modules]
+    pub struct Inside2;
+}
+
+#[stable(since = "1.0", feature = "stb2")]
+pub mod stb2 {
+    #[doc(inline)]
+    #[stable(since = "1.0", feature = "stb2")]
+    pub use crate::uns::Inside2;
+}
+
+#[stable(since = "1.0", feature = "nested")]
+pub mod nested {
+    //! [Inside1] [Inside2]
+    //@ has foo/nested/index.html '//a[@href="../stb1/struct.Inside1.html"]' 'Inside1'
+    //@ has foo/nested/index.html '//a[@href="../stb2/struct.Inside2.html"]' 'Inside2'
+    use crate::stb1::Inside1;
+    use crate::stb2::Inside2;
+}