about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoshua Nelson <jyn514@gmail.com>2020-08-02 22:37:21 -0400
committerJoshua Nelson <jyn514@gmail.com>2020-08-02 22:49:12 -0400
commit519c85439a39d85d0c4b08ff8622cad5bd707ada (patch)
treedaa60eed2d34ddc3838fed6f72c8e8b190c2d5eb
parent8e0e925e2bd45806f88195a94e59246e2e5b6d5e (diff)
downloadrust-519c85439a39d85d0c4b08ff8622cad5bd707ada.tar.gz
rust-519c85439a39d85d0c4b08ff8622cad5bd707ada.zip
Don't mark associated items as traits
This caused the following false positive:

```
warning: unresolved link to `Default::default`
 --> /home/joshua/rustc2/default.rs:1:14
  |
1 | /// Link to [Default::default()]
  |              ^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(broken_intra_doc_links)]` on by default
note: this item resolved to a trait, which did not match the disambiguator 'fn'
 --> /home/joshua/rustc2/default.rs:1:14
  |
1 | /// Link to [Default::default()]
  |              ^^^^^^^^^^^^^^^^^^
```
-rw-r--r--src/librustdoc/passes/collect_intra_doc_links.rs3
-rw-r--r--src/test/rustdoc/intra-link-trait-item.rs3
2 files changed, 5 insertions, 1 deletions
diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs
index 3d8daf4e9a5..2323bf8e69e 100644
--- a/src/librustdoc/passes/collect_intra_doc_links.rs
+++ b/src/librustdoc/passes/collect_intra_doc_links.rs
@@ -415,7 +415,8 @@ impl<'a, 'tcx> LinkCollector<'a, 'tcx> {
                                 AnchorFailure::Method
                             }))
                         } else {
-                            Ok((ty_res, Some(format!("{}.{}", kind, item_name))))
+                            let res = Res::Def(item.kind.as_def_kind(), item.def_id);
+                            Ok((res, Some(format!("{}.{}", kind, item_name))))
                         }
                     } else {
                         self.variant_field(path_str, current_item, module_id)
diff --git a/src/test/rustdoc/intra-link-trait-item.rs b/src/test/rustdoc/intra-link-trait-item.rs
new file mode 100644
index 00000000000..70d36358fc2
--- /dev/null
+++ b/src/test/rustdoc/intra-link-trait-item.rs
@@ -0,0 +1,3 @@
+#![deny(broken_intra_doc_links_)]
+/// Link to [Default::default()]
+pub fn f() {}