Do not suggest things named underscore
This commit is contained in:
parent
64184a3288
commit
726568bd1b
3 changed files with 35 additions and 0 deletions
|
@ -769,6 +769,11 @@ impl<'a> Resolver<'a> {
|
||||||
span: Span,
|
span: Span,
|
||||||
) -> bool {
|
) -> bool {
|
||||||
if let Some(suggestion) = suggestion {
|
if let Some(suggestion) = suggestion {
|
||||||
|
// We shouldn't suggest underscore.
|
||||||
|
if suggestion.candidate == kw::Underscore {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
let msg = format!(
|
let msg = format!(
|
||||||
"{} {} with a similar name exists",
|
"{} {} with a similar name exists",
|
||||||
suggestion.res.article(),
|
suggestion.res.article(),
|
||||||
|
|
14
src/test/ui/resolve/typo-suggestion-named-underscore.rs
Normal file
14
src/test/ui/resolve/typo-suggestion-named-underscore.rs
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
const _: () = ();
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
a // Shouldn't suggest underscore
|
||||||
|
//~^ ERROR: cannot find value `a` in this scope
|
||||||
|
}
|
||||||
|
|
||||||
|
trait Unknown {}
|
||||||
|
|
||||||
|
#[allow(unused_imports)]
|
||||||
|
use Unknown as _;
|
||||||
|
|
||||||
|
fn foo<T: A>(x: T) {} // Shouldn't suggest underscore
|
||||||
|
//~^ ERROR: cannot find trait `A` in this scope
|
16
src/test/ui/resolve/typo-suggestion-named-underscore.stderr
Normal file
16
src/test/ui/resolve/typo-suggestion-named-underscore.stderr
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
error[E0425]: cannot find value `a` in this scope
|
||||||
|
--> $DIR/typo-suggestion-named-underscore.rs:4:5
|
||||||
|
|
|
||||||
|
LL | a // Shouldn't suggest underscore
|
||||||
|
| ^ not found in this scope
|
||||||
|
|
||||||
|
error[E0405]: cannot find trait `A` in this scope
|
||||||
|
--> $DIR/typo-suggestion-named-underscore.rs:13:11
|
||||||
|
|
|
||||||
|
LL | fn foo<T: A>(x: T) {} // Shouldn't suggest underscore
|
||||||
|
| ^ not found in this scope
|
||||||
|
|
||||||
|
error: aborting due to 2 previous errors
|
||||||
|
|
||||||
|
Some errors have detailed explanations: E0405, E0425.
|
||||||
|
For more information about an error, try `rustc --explain E0405`.
|
Loading…
Add table
Add a link
Reference in a new issue