]> git.lizzy.rs Git - rust.git/blob - src/test/ui/closures/2229_closure_analysis/diagnostics/closure-origin-multi-variant-diagnostics.rs
Fix incorrect use mut diagnostics
[rust.git] / src / test / ui / closures / 2229_closure_analysis / diagnostics / closure-origin-multi-variant-diagnostics.rs
1 #![feature(capture_disjoint_fields)]
2 //~^ WARNING: the feature `capture_disjoint_fields` is incomplete
3 //~| `#[warn(incomplete_features)]` on by default
4 //~| see issue #53488 <https://github.com/rust-lang/rust/issues/53488>
5
6 // Check that precise paths are being reported back in the error message.
7
8
9 enum MultiVariant {
10     Point(i32, i32),
11     Meta(i32)
12 }
13
14 fn main() {
15     let mut point = MultiVariant::Point(10, -10,);
16
17     let mut meta = MultiVariant::Meta(1);
18
19     let c = || {
20         if let MultiVariant::Point(ref mut x, _) = point {
21             *x += 1;
22         }
23
24         if let MultiVariant::Meta(ref mut v) = meta {
25             *v += 1;
26         }
27     };
28
29     let a = c;
30     let b = c; //~ ERROR use of moved value: `c` [E0382]
31 }