Name the current module

'not in scope' -> 'not in `module`'
This commit is contained in:
Joshua Nelson 2020-09-11 14:00:40 -04:00
parent b2a5a7a8c2
commit 5ea3eaf237
10 changed files with 61 additions and 84 deletions

View file

@ -1554,12 +1554,13 @@ fn resolution_failure(
}
variants_seen.push(variant);
let note = match failure {
ResolutionFailure::NotInScope { name, .. } => {
ResolutionFailure::NotInScope { module_id, name, .. } => {
if in_scope {
continue;
}
// NOTE: uses an explicit `continue` so the `note:` will come before the `help:`
let note = format!("no item named `{}` is in scope", name);
let module_name = collector.cx.tcx.item_name(module_id);
let note = format!("no item named `{}` in `{}`", name, module_name);
if let Some(span) = sp {
diag.span_label(span, &note);
} else {

View file

@ -2,14 +2,13 @@ error: unresolved link to `S::fmt`
--> $DIR/assoc-item-not-in-scope.rs:4:14
|
LL | /// Link to [`S::fmt`]
| ^^^^^^^^
| ^^^^^^^^ the struct `S` has no field or associated item named `fmt`
|
note: the lint level is defined here
--> $DIR/assoc-item-not-in-scope.rs:1:9
|
LL | #![deny(broken_intra_doc_links)]
| ^^^^^^^^^^^^^^^^^^^^^^
= note: the struct `S` has no field or associated item named `fmt`
error: aborting due to previous error

View file

@ -2,14 +2,13 @@ error: unresolved link to `v2`
--> $DIR/deny-intra-link-resolution-failure.rs:3:6
|
LL | /// [v2]
| ^^
| ^^ no item named `v2` in `deny_intra_link_resolution_failure`
|
note: the lint level is defined here
--> $DIR/deny-intra-link-resolution-failure.rs:1:9
|
LL | #![deny(broken_intra_doc_links)]
| ^^^^^^^^^^^^^^^^^^^^^^
= note: no item named `v2` is in scope
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
error: aborting due to previous error

View file

@ -2,14 +2,13 @@ error: unresolved link to `TypeAlias::hoge`
--> $DIR/intra-doc-alias-ice.rs:5:30
|
LL | /// [broken cross-reference](TypeAlias::hoge)
| ^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^ the type alias `TypeAlias` has no associated item named `hoge`
|
note: the lint level is defined here
--> $DIR/intra-doc-alias-ice.rs:1:9
|
LL | #![deny(broken_intra_doc_links)]
| ^^^^^^^^^^^^^^^^^^^^^^
= note: the type alias `TypeAlias` has no associated item named `hoge`
error: aborting due to previous error

View file

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

View file

@ -2,134 +2,115 @@ error: unresolved link to `path::to::nonexistent::module`
--> $DIR/intra-link-errors.rs:7:6
|
LL | /// [path::to::nonexistent::module]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `path` in `intra_link_errors`
|
note: the lint level is defined here
--> $DIR/intra-link-errors.rs:1:9
|
LL | #![deny(broken_intra_doc_links)]
| ^^^^^^^^^^^^^^^^^^^^^^
= note: no item named `path` is in scope
error: unresolved link to `path::to::nonexistent::macro`
--> $DIR/intra-link-errors.rs:11:6
|
LL | /// [path::to::nonexistent::macro!]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: no item named `path` is in scope
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `path` in `intra_link_errors`
error: unresolved link to `path::to::nonexistent::type`
--> $DIR/intra-link-errors.rs:15:6
|
LL | /// [type@path::to::nonexistent::type]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: no item named `path` is in scope
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `path` in `intra_link_errors`
error: unresolved link to `std::io::not::here`
--> $DIR/intra-link-errors.rs:19:6
|
LL | /// [std::io::not::here]
| ^^^^^^^^^^^^^^^^^^
|
= note: the module `io` has no inner item named `not`
| ^^^^^^^^^^^^^^^^^^ the module `io` has no inner item named `not`
error: unresolved link to `std::io::Error::x`
--> $DIR/intra-link-errors.rs:23:6
|
LL | /// [std::io::Error::x]
| ^^^^^^^^^^^^^^^^^
|
= note: the struct `Error` has no field or associated item named `x`
| ^^^^^^^^^^^^^^^^^ the struct `Error` has no field or associated item named `x`
error: unresolved link to `std::io::ErrorKind::x`
--> $DIR/intra-link-errors.rs:27:6
|
LL | /// [std::io::ErrorKind::x]
| ^^^^^^^^^^^^^^^^^^^^^
|
= note: the enum `ErrorKind` has no variant or associated item named `x`
| ^^^^^^^^^^^^^^^^^^^^^ the enum `ErrorKind` has no variant or associated item named `x`
error: unresolved link to `f::A`
--> $DIR/intra-link-errors.rs:31:6
|
LL | /// [f::A]
| ^^^^
|
= note: `f` is a function, not a module or type, and cannot have associated items
| ^^^^ `f` is a function, not a module or type, and cannot have associated items
error: unresolved link to `S::A`
--> $DIR/intra-link-errors.rs:35:6
|
LL | /// [S::A]
| ^^^^
|
= note: the struct `S` has no field or associated item named `A`
| ^^^^ the struct `S` has no field or associated item named `A`
error: unresolved link to `S::fmt`
--> $DIR/intra-link-errors.rs:39:6
|
LL | /// [S::fmt]
| ^^^^^^
|
= note: the struct `S` has no field or associated item named `fmt`
| ^^^^^^ the struct `S` has no field or associated item named `fmt`
error: unresolved link to `E::D`
--> $DIR/intra-link-errors.rs:43:6
|
LL | /// [E::D]
| ^^^^
|
= note: the enum `E` has no variant or associated item named `D`
| ^^^^ the enum `E` has no variant or associated item named `D`
error: unresolved link to `u8::not_found`
--> $DIR/intra-link-errors.rs:47:6
|
LL | /// [u8::not_found]
| ^^^^^^^^^^^^^
|
= note: the builtin type `u8` does not have an associated item named `not_found`
| ^^^^^^^^^^^^^ the builtin type `u8` does not have an associated item named `not_found`
error: unresolved link to `S`
--> $DIR/intra-link-errors.rs:51:6
|
LL | /// [S!]
| ^^ help: to link to the struct, prefix with `struct@`: `struct@S`
|
= note: this link resolves to the struct `S`, which is not in the macro namespace
| ^^
| |
| this link resolves to the struct `S`, which is not in the macro namespace
| help: to link to the struct, prefix with `struct@`: `struct@S`
error: unresolved link to `T::g`
--> $DIR/intra-link-errors.rs:69:6
|
LL | /// [type@T::g]
| ^^^^^^^^^ help: to link to the associated function, add parentheses: `T::g()`
|
= note: this link resolves to the associated function `g`, which is not in the type namespace
| ^^^^^^^^^
| |
| this link resolves to the associated function `g`, which is not in the type namespace
| help: to link to the associated function, add parentheses: `T::g()`
error: unresolved link to `T::h`
--> $DIR/intra-link-errors.rs:74:6
|
LL | /// [T::h!]
| ^^^^^
|
= note: the trait `T` has no macro named `h`
| ^^^^^ the trait `T` has no macro named `h`
error: unresolved link to `S::h`
--> $DIR/intra-link-errors.rs:61:6
|
LL | /// [type@S::h]
| ^^^^^^^^^ help: to link to the associated function, add parentheses: `S::h()`
|
= note: this link resolves to the associated function `h`, which is not in the type namespace
| ^^^^^^^^^
| |
| this link resolves to the associated function `h`, which is not in the type namespace
| help: to link to the associated function, add parentheses: `S::h()`
error: unresolved link to `m`
--> $DIR/intra-link-errors.rs:81:6
|
LL | /// [m()]
| ^^^ help: to link to the macro, add an exclamation mark: `m!`
|
= note: this link resolves to the macro `m`, which is not in the value namespace
| ^^^
| |
| this link resolves to the macro `m`, which is not in the value namespace
| help: to link to the macro, add an exclamation mark: `m!`
error: aborting due to 16 previous errors

View file

@ -2,14 +2,13 @@ error: unresolved link to `i`
--> $DIR/intra-link-span-ice-55723.rs:9:10
|
LL | /// arr[i]
| ^
| ^ no item named `i` in `intra_link_span_ice_55723`
|
note: the lint level is defined here
--> $DIR/intra-link-span-ice-55723.rs:1:9
|
LL | #![deny(broken_intra_doc_links)]
| ^^^^^^^^^^^^^^^^^^^^^^
= note: no item named `i` is in scope
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
error: aborting due to previous error

View file

@ -2,7 +2,7 @@ warning: unresolved link to `error`
--> $DIR/intra-links-warning-crlf.rs:7:6
|
LL | /// [error]
| ^^^^^ no item named `error` is in scope
| ^^^^^ no item named `error` in `intra_links_warning_crlf`
|
= 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]
| ^^^^^^ no item named `error1` is in scope
| ^^^^^^ no item named `error1` in `intra_links_warning_crlf`
|
= 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]
| ^^^^^^ no item named `error2` is in scope
| ^^^^^^ no item named `error2` in `intra_links_warning_crlf`
|
= 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].
| ^^^^^ no item named `error` is in scope
| ^^^^^ no item named `error` in `intra_links_warning_crlf`
|
= 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], ...
| ^^^^^^^^ no item named `Bar` is in scope
| ^^^^^^^^ no item named `Bar` in `intra_links_warning`
warning: unresolved link to `Uniooon::X`
--> $DIR/intra-links-warning.rs:6:13
|
LL | //! , [Uniooon::X] and [Qux::Z].
| ^^^^^^^^^^ no item named `Uniooon` is in scope
| ^^^^^^^^^^ no item named `Uniooon` in `intra_links_warning`
warning: unresolved link to `Qux::Z`
--> $DIR/intra-links-warning.rs:6:30
|
LL | //! , [Uniooon::X] and [Qux::Z].
| ^^^^^^ no item named `Qux` is in scope
| ^^^^^^ no item named `Qux` in `intra_links_warning`
warning: unresolved link to `Uniooon::X`
--> $DIR/intra-links-warning.rs:10:14
|
LL | //! , [Uniooon::X] and [Qux::Z].
| ^^^^^^^^^^ no item named `Uniooon` is in scope
| ^^^^^^^^^^ no item named `Uniooon` in `intra_links_warning`
warning: unresolved link to `Qux::Z`
--> $DIR/intra-links-warning.rs:10:31
|
LL | //! , [Uniooon::X] and [Qux::Z].
| ^^^^^^ no item named `Qux` is in scope
| ^^^^^^ no item named `Qux` in `intra_links_warning`
warning: unresolved link to `Qux:Y`
--> $DIR/intra-links-warning.rs:14:13
|
LL | /// [Qux:Y]
| ^^^^^ no item named `Qux:Y` is in scope
| ^^^^^ no item named `Qux:Y` in `intra_links_warning`
|
= 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]*/
| ^^^^^ no item named `error` is in scope
| ^^^^^ no item named `error` in `intra_links_warning`
|
= 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]
| ^^^^^ no item named `error` is in scope
| ^^^^^ no item named `error` in `intra_links_warning`
|
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
@ -70,7 +70,7 @@ LL | #[doc = "single line [error]"]
single line [error]
^^^^^
= note: no item named `error` is in scope
= note: no item named `error` in `intra_links_warning`
= 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: no item named `error` is in scope
= note: no item named `error` in `intra_links_warning`
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
warning: unresolved link to `error`
@ -98,14 +98,14 @@ LL | | /// [error]
[error]
^^^^^
= note: no item named `error` is in scope
= note: no item named `error` in `intra_links_warning`
= 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]
| ^^^^^^ no item named `error1` is in scope
| ^^^^^^ no item named `error1` in `intra_links_warning`
|
= 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]
| ^^^^^^ no item named `error2` is in scope
| ^^^^^^ no item named `error2` in `intra_links_warning`
|
= 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
| ^^^^ no item named `BarA` is in scope
| ^^^^ no item named `BarA` in `intra_links_warning`
|
= 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
| ^^^^ no item named `BarB` is in scope
| ^^^^ no item named `BarB` in `intra_links_warning`
|
= 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
| ^^^^ no item named `BarC` is in scope
| ^^^^ no item named `BarC` in `intra_links_warning`
|
= 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: no item named `BarD` is in scope
= note: no item named `BarD` in `intra_links_warning`
= 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: no item named `BarF` is in scope
= note: no item named `BarF` in `intra_links_warning`
= 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]
| ^^^^^
| ^^^^^ no item named `error` in `lint_group`
|
note: the lint level is defined here
--> $DIR/lint-group.rs:7:9
@ -40,7 +40,6 @@ note: the lint level is defined here
LL | #![deny(rustdoc)]
| ^^^^^^^
= note: `#[deny(broken_intra_doc_links)]` implied by `#[deny(rustdoc)]`
= note: no item named `error` is in scope
= help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
error: aborting due to 3 previous errors