granite-rust/src/test/ui/borrowck/borrowck-mutate-in-guard.stderr

50 lines
2.2 KiB
Text
Raw Normal View History

2018-08-08 14:28:26 +02:00
error[E0302]: cannot assign in a pattern guard
2018-12-25 08:56:47 -07:00
--> $DIR/borrowck-mutate-in-guard.rs:10:25
2018-08-08 14:28:26 +02:00
|
LL | Enum::A(_) if { x = Enum::B(false); false } => 1,
| ^^^^^^^^^^^^^^^^^^ assignment in pattern guard
error[E0301]: cannot mutably borrow in a pattern guard
--> $DIR/borrowck-mutate-in-guard.rs:15:38
2018-08-08 14:28:26 +02:00
|
LL | Enum::A(_) if { let y = &mut x; *y = Enum::B(false); false } => 1,
| ^ borrowed mutably in pattern guard
|
= help: add `#![feature(bind_by_move_pattern_guards)]` to the crate attributes to enable
2018-08-08 14:28:26 +02:00
error[E0302]: cannot assign in a pattern guard
--> $DIR/borrowck-mutate-in-guard.rs:15:41
2018-08-08 14:28:26 +02:00
|
LL | Enum::A(_) if { let y = &mut x; *y = Enum::B(false); false } => 1,
| ^^^^^^^^^^^^^^^^^^^ assignment in pattern guard
warning[E0510]: cannot assign `x` in match guard
--> $DIR/borrowck-mutate-in-guard.rs:10:25
|
LL | match x {
| - value is immutable in match guard
LL | Enum::A(_) if { x = Enum::B(false); false } => 1,
| ^^^^^^^^^^^^^^^^^^ cannot assign
|
= warning: this error has been downgraded to a warning for backwards compatibility with previous releases
= warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future
2019-05-13 17:09:30 -07:00
= note: for more information, try `rustc --explain E0729`
warning[E0510]: cannot mutably borrow `x` in match guard
--> $DIR/borrowck-mutate-in-guard.rs:15:33
|
LL | match x {
| - value is immutable in match guard
...
LL | Enum::A(_) if { let y = &mut x; *y = Enum::B(false); false } => 1,
| ^^^^^^ cannot mutably borrow
|
= warning: this error has been downgraded to a warning for backwards compatibility with previous releases
= warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future
2019-05-13 17:09:30 -07:00
= note: for more information, try `rustc --explain E0729`
2018-08-08 14:28:26 +02:00
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0301, E0302, E0510.
2018-08-08 14:28:26 +02:00
For more information about an error, try `rustc --explain E0301`.