Improve error messages

This commit is contained in:
Camelid 2020-10-02 19:53:09 -07:00
parent 21fb9dfa8d
commit aa9b718cf0
8 changed files with 39 additions and 40 deletions

View File

@ -1577,13 +1577,12 @@ fn resolution_failure(
// See if this was a module: `[path]` or `[std::io::nope]`
if let Some(module) = last_found_module {
let note = if partial_res.is_some() {
// Part of the link resolved; e.g. `std::io::nonexistent`
let module_name = collector.cx.tcx.item_name(module);
format!(
"the module `{}` contains no item named `{}`",
module_name, unresolved
)
format!("no item named `{}` in module `{}`", unresolved, module_name)
} else {
format!("there is no item named `{}` in scope", unresolved)
// None of the link resolved; e.g. `Notimported`
format!("no item named `{}` in scope", unresolved)
};
if let Some(span) = sp {
diag.span_label(span, &note);

View File

@ -2,7 +2,7 @@ error: unresolved link to `v2`
--> $DIR/deny-intra-link-resolution-failure.rs:3:6
|
LL | /// [v2]
| ^^ there is no item named `v2` in scope
| ^^ no item named `v2` in scope
|
note: the lint level is defined here
--> $DIR/deny-intra-link-resolution-failure.rs:1:9

View File

@ -6,23 +6,23 @@
/// [path::to::nonexistent::module]
//~^ ERROR unresolved link
//~| NOTE there is no item named `path` in scope
//~| NOTE no item named `path` in scope
/// [path::to::nonexistent::macro!]
//~^ ERROR unresolved link
//~| NOTE there is no item named `path` in scope
//~| NOTE no item named `path` in scope
/// [type@path::to::nonexistent::type]
//~^ ERROR unresolved link
//~| NOTE there is no item named `path` in scope
//~| NOTE no item named `path` in scope
/// [std::io::not::here]
//~^ ERROR unresolved link
//~| NOTE `io` contains no item named `not`
//~| NOTE no item named `not` in module `io`
/// [type@std::io::not::here]
//~^ ERROR unresolved link
//~| NOTE `io` contains no item named `not`
//~| NOTE no item named `not` in module `io`
/// [std::io::Error::x]
//~^ ERROR unresolved link

View File

@ -2,7 +2,7 @@ error: unresolved link to `path::to::nonexistent::module`
--> $DIR/intra-link-errors.rs:7:6
|
LL | /// [path::to::nonexistent::module]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ there is no item named `path` in scope
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `path` in scope
|
note: the lint level is defined here
--> $DIR/intra-link-errors.rs:1:9
@ -14,25 +14,25 @@ error: unresolved link to `path::to::nonexistent::macro`
--> $DIR/intra-link-errors.rs:11:6
|
LL | /// [path::to::nonexistent::macro!]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ there is no item named `path` in scope
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `path` in scope
error: unresolved link to `path::to::nonexistent::type`
--> $DIR/intra-link-errors.rs:15:6
|
LL | /// [type@path::to::nonexistent::type]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ there is no item named `path` in scope
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `path` in scope
error: unresolved link to `std::io::not::here`
--> $DIR/intra-link-errors.rs:19:6
|
LL | /// [std::io::not::here]
| ^^^^^^^^^^^^^^^^^^ the module `io` contains no item named `not`
| ^^^^^^^^^^^^^^^^^^ no item named `not` in module `io`
error: unresolved link to `std::io::not::here`
--> $DIR/intra-link-errors.rs:23:6
|
LL | /// [type@std::io::not::here]
| ^^^^^^^^^^^^^^^^^^^^^^^ the module `io` contains no item named `not`
| ^^^^^^^^^^^^^^^^^^^^^^^ no item named `not` in module `io`
error: unresolved link to `std::io::Error::x`
--> $DIR/intra-link-errors.rs:27:6

View File

@ -2,7 +2,7 @@ error: unresolved link to `i`
--> $DIR/intra-link-span-ice-55723.rs:9:10
|
LL | /// arr[i]
| ^ there is no item named `i` in scope
| ^ no item named `i` in scope
|
note: the lint level is defined here
--> $DIR/intra-link-span-ice-55723.rs:1:9

View File

@ -2,7 +2,7 @@ warning: unresolved link to `error`
--> $DIR/intra-links-warning-crlf.rs:7:6
|
LL | /// [error]
| ^^^^^ there is no item named `error` in scope
| ^^^^^ no item named `error` in scope
|
= note: `#[warn(broken_intra_doc_links)]` on by default
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -11,7 +11,7 @@ warning: unresolved link to `error1`
--> $DIR/intra-links-warning-crlf.rs:12:11
|
LL | /// docs [error1]
| ^^^^^^ there is no item named `error1` in scope
| ^^^^^^ no item named `error1` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -19,7 +19,7 @@ warning: unresolved link to `error2`
--> $DIR/intra-links-warning-crlf.rs:15:11
|
LL | /// docs [error2]
| ^^^^^^ there is no item named `error2` in scope
| ^^^^^^ no item named `error2` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -27,7 +27,7 @@ warning: unresolved link to `error`
--> $DIR/intra-links-warning-crlf.rs:23:20
|
LL | * It also has an [error].
| ^^^^^ there is no item named `error` in scope
| ^^^^^ no item named `error` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

View File

@ -10,37 +10,37 @@ warning: unresolved link to `Bar::foo`
--> $DIR/intra-links-warning.rs:3:35
|
LL | //! Test with [Foo::baz], [Bar::foo], ...
| ^^^^^^^^ there is no item named `Bar` in scope
| ^^^^^^^^ no item named `Bar` in scope
warning: unresolved link to `Uniooon::X`
--> $DIR/intra-links-warning.rs:6:13
|
LL | //! , [Uniooon::X] and [Qux::Z].
| ^^^^^^^^^^ there is no item named `Uniooon` in scope
| ^^^^^^^^^^ no item named `Uniooon` in scope
warning: unresolved link to `Qux::Z`
--> $DIR/intra-links-warning.rs:6:30
|
LL | //! , [Uniooon::X] and [Qux::Z].
| ^^^^^^ there is no item named `Qux` in scope
| ^^^^^^ no item named `Qux` in scope
warning: unresolved link to `Uniooon::X`
--> $DIR/intra-links-warning.rs:10:14
|
LL | //! , [Uniooon::X] and [Qux::Z].
| ^^^^^^^^^^ there is no item named `Uniooon` in scope
| ^^^^^^^^^^ no item named `Uniooon` in scope
warning: unresolved link to `Qux::Z`
--> $DIR/intra-links-warning.rs:10:31
|
LL | //! , [Uniooon::X] and [Qux::Z].
| ^^^^^^ there is no item named `Qux` in scope
| ^^^^^^ no item named `Qux` in scope
warning: unresolved link to `Qux:Y`
--> $DIR/intra-links-warning.rs:14:13
|
LL | /// [Qux:Y]
| ^^^^^ there is no item named `Qux:Y` in scope
| ^^^^^ no item named `Qux:Y` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -48,7 +48,7 @@ warning: unresolved link to `error`
--> $DIR/intra-links-warning.rs:58:30
|
LL | * time to introduce a link [error]*/
| ^^^^^ there is no item named `error` in scope
| ^^^^^ no item named `error` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -56,7 +56,7 @@ warning: unresolved link to `error`
--> $DIR/intra-links-warning.rs:64:30
|
LL | * time to introduce a link [error]
| ^^^^^ there is no item named `error` in scope
| ^^^^^ no item named `error` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -70,7 +70,7 @@ LL | #[doc = "single line [error]"]
single line [error]
^^^^^
= note: there is no item named `error` in scope
= note: no item named `error` in scope
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
warning: unresolved link to `error`
@ -83,7 +83,7 @@ LL | #[doc = "single line with \"escaping\" [error]"]
single line with "escaping" [error]
^^^^^
= note: there is no item named `error` in scope
= note: no item named `error` in scope
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
warning: unresolved link to `error`
@ -98,14 +98,14 @@ LL | | /// [error]
[error]
^^^^^
= note: there is no item named `error` in scope
= note: no item named `error` in scope
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
warning: unresolved link to `error1`
--> $DIR/intra-links-warning.rs:80:11
|
LL | /// docs [error1]
| ^^^^^^ there is no item named `error1` in scope
| ^^^^^^ no item named `error1` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -113,7 +113,7 @@ warning: unresolved link to `error2`
--> $DIR/intra-links-warning.rs:82:11
|
LL | /// docs [error2]
| ^^^^^^ there is no item named `error2` in scope
| ^^^^^^ no item named `error2` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -121,7 +121,7 @@ warning: unresolved link to `BarA`
--> $DIR/intra-links-warning.rs:21:10
|
LL | /// bar [BarA] bar
| ^^^^ there is no item named `BarA` in scope
| ^^^^ no item named `BarA` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -129,7 +129,7 @@ warning: unresolved link to `BarB`
--> $DIR/intra-links-warning.rs:27:9
|
LL | * bar [BarB] bar
| ^^^^ there is no item named `BarB` in scope
| ^^^^ no item named `BarB` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -137,7 +137,7 @@ warning: unresolved link to `BarC`
--> $DIR/intra-links-warning.rs:34:6
|
LL | bar [BarC] bar
| ^^^^ there is no item named `BarC` in scope
| ^^^^ no item named `BarC` in scope
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -151,7 +151,7 @@ LL | #[doc = "Foo\nbar [BarD] bar\nbaz"]
bar [BarD] bar
^^^^
= note: there is no item named `BarD` in scope
= note: no item named `BarD` in scope
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
warning: unresolved link to `BarF`
@ -167,7 +167,7 @@ LL | f!("Foo\nbar [BarF] bar\nbaz");
bar [BarF] bar
^^^^
= note: there is no item named `BarF` in scope
= note: no item named `BarF` in scope
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
= note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

View File

@ -32,7 +32,7 @@ error: unresolved link to `error`
--> $DIR/lint-group.rs:9:29
|
LL | /// what up, let's make an [error]
| ^^^^^ there is no item named `error` in scope
| ^^^^^ no item named `error` in scope
|
note: the lint level is defined here
--> $DIR/lint-group.rs:7:9