From fc273a035dfb352fd90246dd2560c807701eeea7 Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Tue, 4 Aug 2020 23:39:18 -0400 Subject: [PATCH] Unresolved link -> incompatible link kind Clearly it has been resolved, because we say on the next line what it resolved to. --- .../passes/collect_intra_doc_links.rs | 3 +-- .../intra-links-disambiguator-mismatch.rs | 20 +++++++++---------- .../intra-links-disambiguator-mismatch.stderr | 20 +++++++++---------- 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs index 03fabd3dc15..8e485b97830 100644 --- a/src/librustdoc/passes/collect_intra_doc_links.rs +++ b/src/librustdoc/passes/collect_intra_doc_links.rs @@ -777,7 +777,7 @@ fn fold_item(&mut self, mut item: Item) -> Option { (_, Some(Disambiguator::Kind(expected))) if kind == expected => {} (_, Some(expected)) => { // The resolved item did not match the disambiguator; give a better error than 'not found' - let msg = format!("unresolved link to `{}`", path_str); + let msg = format!("incompatible link kind for `{}`", path_str); report_diagnostic(cx, &msg, &item, &dox, link_range, |diag, sp| { // HACK(jynelson): by looking at the source I saw the DefId we pass // for `expected.descr()` doesn't matter, since it's not a crate @@ -787,7 +787,6 @@ fn fold_item(&mut self, mut item: Item) -> Option { diag.note(¬e); if let Some(sp) = sp { diag.span_suggestion(sp, &help_msg, suggestion, Applicability::MaybeIncorrect); - diag.set_sort_span(sp); } }); continue; diff --git a/src/test/rustdoc-ui/intra-links-disambiguator-mismatch.rs b/src/test/rustdoc-ui/intra-links-disambiguator-mismatch.rs index 9bf77a53fb5..3bc08b23341 100644 --- a/src/test/rustdoc-ui/intra-links-disambiguator-mismatch.rs +++ b/src/test/rustdoc-ui/intra-links-disambiguator-mismatch.rs @@ -12,52 +12,52 @@ macro_rules! m { trait T {} /// Link to [struct@S] -//~^ ERROR unresolved link to `S` +//~^ ERROR incompatible link kind for `S` //~| NOTE this link resolved //~| HELP use its disambiguator /// Link to [mod@S] -//~^ ERROR unresolved link to `S` +//~^ ERROR incompatible link kind for `S` //~| NOTE this link resolved //~| HELP use its disambiguator /// Link to [union@S] -//~^ ERROR unresolved link to `S` +//~^ ERROR incompatible link kind for `S` //~| NOTE this link resolved //~| HELP use its disambiguator /// Link to [trait@S] -//~^ ERROR unresolved link to `S` +//~^ ERROR incompatible link kind for `S` //~| NOTE this link resolved //~| HELP use its disambiguator /// Link to [struct@T] -//~^ ERROR unresolved link to `T` +//~^ ERROR incompatible link kind for `T` //~| NOTE this link resolved //~| HELP use its disambiguator /// Link to [derive@m] -//~^ ERROR unresolved link to `m` +//~^ ERROR incompatible link kind for `m` //~| NOTE this link resolved //~| HELP use its disambiguator /// Link to [const@s] -//~^ ERROR unresolved link to `s` +//~^ ERROR incompatible link kind for `s` //~| NOTE this link resolved //~| HELP use its disambiguator /// Link to [static@c] -//~^ ERROR unresolved link to `c` +//~^ ERROR incompatible link kind for `c` //~| NOTE this link resolved //~| HELP use its disambiguator /// Link to [fn@c] -//~^ ERROR unresolved link to `c` +//~^ ERROR incompatible link kind for `c` //~| NOTE this link resolved //~| HELP use its disambiguator /// Link to [c()] -//~^ ERROR unresolved link to `c` +//~^ ERROR incompatible link kind for `c` //~| NOTE this link resolved //~| HELP use its disambiguator pub fn f() {} diff --git a/src/test/rustdoc-ui/intra-links-disambiguator-mismatch.stderr b/src/test/rustdoc-ui/intra-links-disambiguator-mismatch.stderr index d0a3ebf2c6a..8eb582512c0 100644 --- a/src/test/rustdoc-ui/intra-links-disambiguator-mismatch.stderr +++ b/src/test/rustdoc-ui/intra-links-disambiguator-mismatch.stderr @@ -1,4 +1,4 @@ -error: unresolved link to `S` +error: incompatible link kind for `S` --> $DIR/intra-links-disambiguator-mismatch.rs:14:14 | LL | /// Link to [struct@S] @@ -11,7 +11,7 @@ LL | #![deny(broken_intra_doc_links)] | ^^^^^^^^^^^^^^^^^^^^^^ = note: this link resolved to an enum, which is not a struct -error: unresolved link to `S` +error: incompatible link kind for `S` --> $DIR/intra-links-disambiguator-mismatch.rs:19:14 | LL | /// Link to [mod@S] @@ -19,7 +19,7 @@ LL | /// Link to [mod@S] | = note: this link resolved to an enum, which is not a module -error: unresolved link to `S` +error: incompatible link kind for `S` --> $DIR/intra-links-disambiguator-mismatch.rs:24:14 | LL | /// Link to [union@S] @@ -27,7 +27,7 @@ LL | /// Link to [union@S] | = note: this link resolved to an enum, which is not a union -error: unresolved link to `S` +error: incompatible link kind for `S` --> $DIR/intra-links-disambiguator-mismatch.rs:29:14 | LL | /// Link to [trait@S] @@ -35,7 +35,7 @@ LL | /// Link to [trait@S] | = note: this link resolved to an enum, which is not a trait -error: unresolved link to `T` +error: incompatible link kind for `T` --> $DIR/intra-links-disambiguator-mismatch.rs:34:14 | LL | /// Link to [struct@T] @@ -43,7 +43,7 @@ LL | /// Link to [struct@T] | = note: this link resolved to a trait, which is not a struct -error: unresolved link to `m` +error: incompatible link kind for `m` --> $DIR/intra-links-disambiguator-mismatch.rs:39:14 | LL | /// Link to [derive@m] @@ -51,7 +51,7 @@ LL | /// Link to [derive@m] | = note: this link resolved to a macro, which is not a derive macro -error: unresolved link to `s` +error: incompatible link kind for `s` --> $DIR/intra-links-disambiguator-mismatch.rs:44:14 | LL | /// Link to [const@s] @@ -59,7 +59,7 @@ LL | /// Link to [const@s] | = note: this link resolved to a static, which is not a constant -error: unresolved link to `c` +error: incompatible link kind for `c` --> $DIR/intra-links-disambiguator-mismatch.rs:49:14 | LL | /// Link to [static@c] @@ -67,7 +67,7 @@ LL | /// Link to [static@c] | = note: this link resolved to a constant, which is not a static -error: unresolved link to `c` +error: incompatible link kind for `c` --> $DIR/intra-links-disambiguator-mismatch.rs:54:14 | LL | /// Link to [fn@c] @@ -75,7 +75,7 @@ LL | /// Link to [fn@c] | = note: this link resolved to a constant, which is not a function -error: unresolved link to `c` +error: incompatible link kind for `c` --> $DIR/intra-links-disambiguator-mismatch.rs:59:14 | LL | /// Link to [c()] -- 2.44.0