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:
commit
7dc61f3022
@ -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##"
|
||||
|
Loading…
Reference in New Issue
Block a user