rust/src/test/ui/resolve/privacy-enum-ctor.stderr
Zack M. Davis f3e9b1a703 in which the E0618 "expected function" diagnostic gets a makeover
Now the main span focuses on the erroneous not-a-function callee,
while showing the entire call expression is relegated to a secondary
span. In the case where the erroneous callee is itself a call, we
point out the definition, and, if the call expression spans multiple
lines, tentatively suggest a semicolon (because we suspect that the
"outer" call is actually supposed to be a tuple).

The new `bug!` assertion is, in fact, safe (`confirm_builtin_call` is
only called by `check_call`, which is only called with a first arg of
kind `ExprKind::Call` in `check_expr_kind`).

Resolves #51055.
2018-11-10 22:12:33 -08:00

234 lines
6.5 KiB
Plaintext

error[E0423]: expected value, found enum `n::Z`
--> $DIR/privacy-enum-ctor.rs:33:9
|
LL | n::Z;
| ^^^^
|
= note: did you mean to use one of the following variants?
- `m::Z::Fn`
- `m::Z::Struct`
- `m::Z::Unit`
error[E0423]: expected value, found enum `Z`
--> $DIR/privacy-enum-ctor.rs:35:9
|
LL | Z;
| ^ did you mean `f`?
|
= note: did you mean to use one of the following variants?
- `m::Z::Fn`
- `m::Z::Struct`
- `m::Z::Unit`
error[E0423]: expected value, found struct variant `Z::Struct`
--> $DIR/privacy-enum-ctor.rs:39:20
|
LL | let _: Z = Z::Struct;
| ^^^^^^^^^ did you mean `Z::Struct { /* fields */ }`?
error[E0423]: expected value, found enum `m::E`
--> $DIR/privacy-enum-ctor.rs:51:16
|
LL | let _: E = m::E;
| ^^^-
| |
| did you mean `f`?
|
= note: did you mean to use one of the following variants?
- `E::Fn`
- `E::Struct`
- `E::Unit`
help: possible better candidates are found in other modules, you can import them into scope
|
LL | use std::f32::consts::E;
|
LL | use std::f64::consts::E;
|
error[E0423]: expected value, found struct variant `m::E::Struct`
--> $DIR/privacy-enum-ctor.rs:55:16
|
LL | let _: E = m::E::Struct;
| ^^^^^^^^^^^^ did you mean `m::E::Struct { /* fields */ }`?
error[E0423]: expected value, found enum `E`
--> $DIR/privacy-enum-ctor.rs:59:16
|
LL | let _: E = E;
| ^
|
= note: did you mean to use one of the following variants?
- `E::Fn`
- `E::Struct`
- `E::Unit`
help: possible better candidates are found in other modules, you can import them into scope
|
LL | use std::f32::consts::E;
|
LL | use std::f64::consts::E;
|
error[E0423]: expected value, found struct variant `E::Struct`
--> $DIR/privacy-enum-ctor.rs:63:16
|
LL | let _: E = E::Struct;
| ^^^^^^^^^ did you mean `E::Struct { /* fields */ }`?
error[E0412]: cannot find type `Z` in this scope
--> $DIR/privacy-enum-ctor.rs:67:12
|
LL | let _: Z = m::n::Z;
| ^ did you mean `E`?
help: possible candidate is found in another module, you can import it into scope
|
LL | use m::n::Z;
|
error[E0423]: expected value, found enum `m::n::Z`
--> $DIR/privacy-enum-ctor.rs:67:16
|
LL | let _: Z = m::n::Z;
| ^^^^^^^
|
= note: did you mean to use one of the following variants?
- `m::Z::Fn`
- `m::Z::Struct`
- `m::Z::Unit`
error[E0412]: cannot find type `Z` in this scope
--> $DIR/privacy-enum-ctor.rs:71:12
|
LL | let _: Z = m::n::Z::Fn;
| ^ did you mean `E`?
help: possible candidate is found in another module, you can import it into scope
|
LL | use m::n::Z;
|
error[E0412]: cannot find type `Z` in this scope
--> $DIR/privacy-enum-ctor.rs:74:12
|
LL | let _: Z = m::n::Z::Struct;
| ^ did you mean `E`?
help: possible candidate is found in another module, you can import it into scope
|
LL | use m::n::Z;
|
error[E0423]: expected value, found struct variant `m::n::Z::Struct`
--> $DIR/privacy-enum-ctor.rs:74:16
|
LL | let _: Z = m::n::Z::Struct;
| ^^^^^^^^^^^^^^^ did you mean `m::n::Z::Struct { /* fields */ }`?
error[E0412]: cannot find type `Z` in this scope
--> $DIR/privacy-enum-ctor.rs:78:12
|
LL | let _: Z = m::n::Z::Unit {};
| ^ did you mean `E`?
help: possible candidate is found in another module, you can import it into scope
|
LL | use m::n::Z;
|
error[E0603]: enum `Z` is private
--> $DIR/privacy-enum-ctor.rs:67:22
|
LL | let _: Z = m::n::Z;
| ^
error[E0603]: enum `Z` is private
--> $DIR/privacy-enum-ctor.rs:71:22
|
LL | let _: Z = m::n::Z::Fn;
| ^
error[E0603]: enum `Z` is private
--> $DIR/privacy-enum-ctor.rs:74:22
|
LL | let _: Z = m::n::Z::Struct;
| ^
error[E0603]: enum `Z` is private
--> $DIR/privacy-enum-ctor.rs:78:22
|
LL | let _: Z = m::n::Z::Unit {};
| ^
error[E0308]: mismatched types
--> $DIR/privacy-enum-ctor.rs:37:20
|
LL | let _: Z = Z::Fn;
| ^^^^^ expected enum `m::n::Z`, found fn item
|
= note: expected type `m::n::Z`
found type `fn(u8) -> m::n::Z {m::n::Z::Fn}`
error[E0618]: expected function, found enum variant `Z::Unit`
--> $DIR/privacy-enum-ctor.rs:41:17
|
LL | Unit,
| ---- `Z::Unit` defined here
...
LL | let _ = Z::Unit();
| ^^^^^^^--
| |
| call expression requires function
help: `Z::Unit` is a unit variant, you need to write it without the parenthesis
|
LL | let _ = Z::Unit;
| ^^^^^^^
error[E0308]: mismatched types
--> $DIR/privacy-enum-ctor.rs:53:16
|
LL | let _: E = m::E::Fn;
| ^^^^^^^^ expected enum `m::E`, found fn item
|
= note: expected type `m::E`
found type `fn(u8) -> m::E {m::E::Fn}`
error[E0618]: expected function, found enum variant `m::E::Unit`
--> $DIR/privacy-enum-ctor.rs:57:16
|
LL | Unit,
| ---- `m::E::Unit` defined here
...
LL | let _: E = m::E::Unit();
| ^^^^^^^^^^--
| |
| call expression requires function
help: `m::E::Unit` is a unit variant, you need to write it without the parenthesis
|
LL | let _: E = m::E::Unit;
| ^^^^^^^^^^
error[E0308]: mismatched types
--> $DIR/privacy-enum-ctor.rs:61:16
|
LL | let _: E = E::Fn;
| ^^^^^ expected enum `m::E`, found fn item
|
= note: expected type `m::E`
found type `fn(u8) -> m::E {m::E::Fn}`
error[E0618]: expected function, found enum variant `E::Unit`
--> $DIR/privacy-enum-ctor.rs:65:16
|
LL | Unit,
| ---- `E::Unit` defined here
...
LL | let _: E = E::Unit();
| ^^^^^^^--
| |
| call expression requires function
help: `E::Unit` is a unit variant, you need to write it without the parenthesis
|
LL | let _: E = E::Unit;
| ^^^^^^^
error: aborting due to 23 previous errors
Some errors occurred: E0308, E0412, E0423, E0603, E0618.
For more information about an error, try `rustc --explain E0308`.