summary refs log tree commit diff
path: root/src/test/ui/closures/2229_closure_analysis/deep-multilevel-struct.stderr
blob: 863f1009131a161d0e963469d5dab132d85a54ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
error[E0658]: attributes on expressions are experimental
  --> $DIR/deep-multilevel-struct.rs:36:13
   |
LL |     let c = #[rustc_capture_analysis]
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #15701 <https://github.com/rust-lang/rust/issues/15701> for more information
   = help: add `#![feature(stmt_expr_attributes)]` to the crate attributes to enable

warning: the feature `capture_disjoint_fields` is incomplete and may not be safe to use and/or cause compiler crashes
  --> $DIR/deep-multilevel-struct.rs:1:12
   |
LL | #![feature(capture_disjoint_fields)]
   |            ^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(incomplete_features)]` on by default
   = note: see issue #53488 <https://github.com/rust-lang/rust/issues/53488> for more information

error: First Pass analysis includes:
  --> $DIR/deep-multilevel-struct.rs:39:5
   |
LL | /     || {
LL | |
LL | |
LL | |         let x = &p.a.p.x;
...  |
LL | |
LL | |     };
   | |_____^
   |
note: Capturing p[(0, 0),(0, 0),(0, 0)] -> ImmBorrow
  --> $DIR/deep-multilevel-struct.rs:42:18
   |
LL |         let x = &p.a.p.x;
   |                  ^^^^^^^
note: Capturing p[(1, 0),(1, 0),(1, 0)] -> MutBorrow
  --> $DIR/deep-multilevel-struct.rs:44:9
   |
LL |         p.b.q.y = 9;
   |         ^^^^^^^
note: Capturing p[] -> ImmBorrow
  --> $DIR/deep-multilevel-struct.rs:47:26
   |
LL |         println!("{:?}", p);
   |                          ^

error: Min Capture analysis includes:
  --> $DIR/deep-multilevel-struct.rs:39:5
   |
LL | /     || {
LL | |
LL | |
LL | |         let x = &p.a.p.x;
...  |
LL | |
LL | |     };
   | |_____^
   |
note: Min Capture p[] -> MutBorrow
  --> $DIR/deep-multilevel-struct.rs:44:9
   |
LL |         p.b.q.y = 9;
   |         ^^^^^^^ p[] captured as MutBorrow here
...
LL |         println!("{:?}", p);
   |                          ^ p[] used here

error: aborting due to 3 previous errors; 1 warning emitted

For more information about this error, try `rustc --explain E0658`.