about summary refs log tree commit diff
path: root/src/test/rustdoc
diff options
context:
space:
mode:
authorJoshua Nelson <jyn514@gmail.com>2020-10-04 11:56:55 -0400
committerJoshua Nelson <jyn514@gmail.com>2020-10-08 00:29:38 -0400
commite39a86019d79d0f2dc5f6cc94fcdf2f073b478e9 (patch)
tree6cc41306b89076907fcaefde187cfb180db14d76 /src/test/rustdoc
parent8fbfdc548aa8f0f7b9e7bbd54d6916eb5ed53e23 (diff)
downloadrust-e39a86019d79d0f2dc5f6cc94fcdf2f073b478e9.tar.gz
rust-e39a86019d79d0f2dc5f6cc94fcdf2f073b478e9.zip
Use the new module information for intra-doc links
- Make the parent module conditional on whether the docs are on a re-export
- Make `resolve_link` take `&Item` instead of `&mut Item`

  Previously the borrow checker gave an error about multiple mutable
  borrows, because `dox` borrowed from `item`.

- Fix `crate::` for re-exports

  `crate` means something different depending on where the attribute
  came from.

- Make it work for `#[doc]` attributes too

  This required combining several attributes as one so they would keep
  the links.
Diffstat (limited to 'src/test/rustdoc')
-rw-r--r--src/test/rustdoc/intra-link-reexport-additional-docs.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/rustdoc/intra-link-reexport-additional-docs.rs b/src/test/rustdoc/intra-link-reexport-additional-docs.rs
new file mode 100644
index 00000000000..adb072a7ed5
--- /dev/null
+++ b/src/test/rustdoc/intra-link-reexport-additional-docs.rs
@@ -0,0 +1,18 @@
+#![crate_name = "foo"]
+
+// @has foo/struct.JoinPathsError.html '//a[@href="../foo/fn.with_code.html"]' 'crate::with_code'
+/// [crate::with_code]
+// @has - '//a[@href="../foo/fn.with_code.html"]' 'different text'
+/// [different text][with_code]
+// @has - '//a[@href="../foo/fn.me_too.html"]' 'me_too'
+#[doc = "[me_too]"]
+// @has - '//a[@href="../foo/fn.me_three.html"]' 'reference link'
+/// This [reference link]
+#[doc = "has an attr in the way"]
+///
+/// [reference link]: me_three
+pub use std::env::JoinPathsError;
+
+pub fn with_code() {}
+pub fn me_too() {}
+pub fn me_three() {}