diff options
| author | Joshua Nelson <jyn514@gmail.com> | 2020-08-02 22:37:21 -0400 |
|---|---|---|
| committer | Joshua Nelson <jyn514@gmail.com> | 2020-08-02 22:49:12 -0400 |
| commit | 519c85439a39d85d0c4b08ff8622cad5bd707ada (patch) | |
| tree | daa60eed2d34ddc3838fed6f72c8e8b190c2d5eb | |
| parent | 8e0e925e2bd45806f88195a94e59246e2e5b6d5e (diff) | |
| download | rust-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.rs | 3 | ||||
| -rw-r--r-- | src/test/rustdoc/intra-link-trait-item.rs | 3 |
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() {} |
