Auto merge of #51461 - estebank:e0423-doc, r=petrochenkov

Update E0423 description

E0423 doesn't apply only to structs, update the error index description
to make this clear.

Fix #42077.
This commit is contained in:
bors 2018-06-11 00:32:22 +00:00
commit 7dc61f3022

View File

@ -967,16 +967,18 @@ one.
"##,
E0423: r##"
A `struct` variant name was used like a function name.
An identifier was used like a function name or a value was expected and the
identifier exists but it belongs to a different namespace.
Erroneous code example:
For (an erroneous) example, here a `struct` variant name were used as a
function:
```compile_fail,E0423
struct Foo { a: bool };
let f = Foo();
// error: `Foo` is a struct variant name, but this expression uses
// it like a function name
// error: expected function, found `Foo`
// `Foo` is a struct name, but this expression uses it like a function name
```
Please verify you didn't misspell the name of what you actually wanted to use
@ -987,6 +989,30 @@ fn Foo() -> u32 { 0 }
let f = Foo(); // ok!
```
It is common to forget the trailing `!` on macro invocations, which would also
yield this error:
```compile_fail,E0423
println("");
// error: expected function, found macro `println`
// did you mean `println!(...)`? (notice the trailing `!`)
```
Another case where this error is emitted is when a value is expected, but
something else is found:
```compile_fail,E0423
pub mod a {
pub const I: i32 = 1;
}
fn h1() -> i32 {
a.I
//~^ ERROR expected value, found module `a`
// did you mean `a::I`?
}
```
"##,
E0424: r##"