mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-31 14:31:55 +00:00
73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
error[E0381]: used binding `x` isn't initialized
|
|
--> $DIR/match-cfg-fake-edges.rs:29:13
|
|
|
|
|
LL | let x;
|
|
| - binding declared here but left uninitialized
|
|
...
|
|
LL | _ if { x = 2; true } => 1,
|
|
| ----- binding initialized here in some conditions
|
|
LL | _ if {
|
|
LL | x;
|
|
| ^ `x` used here but it isn't initialized
|
|
|
|
|
help: consider assigning a value
|
|
|
|
|
LL | let x = 0;
|
|
| +++
|
|
|
|
error[E0381]: used binding `x` isn't initialized
|
|
--> $DIR/match-cfg-fake-edges.rs:39:13
|
|
|
|
|
LL | let x;
|
|
| - binding declared here but left uninitialized
|
|
LL | match y {
|
|
LL | _ if let Some(()) = { x = 2; Some(()) } => 1,
|
|
| ----- binding initialized here in some conditions
|
|
LL | _ if let Some(()) = {
|
|
LL | x;
|
|
| ^ `x` used here but it isn't initialized
|
|
|
|
|
help: consider assigning a value
|
|
|
|
|
LL | let x = 0;
|
|
| +++
|
|
|
|
error[E0382]: use of moved value: `x`
|
|
--> $DIR/match-cfg-fake-edges.rs:53:13
|
|
|
|
|
LL | let x = String::new();
|
|
| - move occurs because `x` has type `String`, which does not implement the `Copy` trait
|
|
...
|
|
LL | false if { drop(x); true } => 1,
|
|
| - value moved here
|
|
LL | true => {
|
|
LL | x;
|
|
| ^ value used here after move
|
|
|
|
|
help: consider cloning the value if the performance cost is acceptable
|
|
|
|
|
LL | false if { drop(x.clone()); true } => 1,
|
|
| ++++++++
|
|
|
|
error[E0382]: use of moved value: `x`
|
|
--> $DIR/match-cfg-fake-edges.rs:63:13
|
|
|
|
|
LL | let x = String::new();
|
|
| - move occurs because `x` has type `String`, which does not implement the `Copy` trait
|
|
LL | match y {
|
|
LL | false if let Some(()) = { drop(x); Some(()) } => 1,
|
|
| - value moved here
|
|
LL | true => {
|
|
LL | x;
|
|
| ^ value used here after move
|
|
|
|
|
help: consider cloning the value if the performance cost is acceptable
|
|
|
|
|
LL | false if let Some(()) = { drop(x.clone()); Some(()) } => 1,
|
|
| ++++++++
|
|
|
|
error: aborting due to 4 previous errors
|
|
|
|
Some errors have detailed explanations: E0381, E0382.
|
|
For more information about an error, try `rustc --explain E0381`.
|