@@ -29,7 +29,7 @@ paths roughly correspond to the concept of a [`Place`] from MIR, but
29
29
they are indexed in ways that enable us to do move analysis more
30
30
efficiently.
31
31
32
- [ `MovePath` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MovePath.html
32
+ [ `MovePath` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MovePath.html
33
33
[ `Place` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Place.html
34
34
35
35
## Move path indices
@@ -45,9 +45,9 @@ access the [`MovePath::place`] field like so:
45
45
move_data.move_paths[mpi].place
46
46
```
47
47
48
- [ move_paths ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MoveData.html#structfield.move_paths
49
- [ `MovePath::place` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MovePath.html#structfield.place
50
- [ `MovePathIndex` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MovePathIndex.html
48
+ [ move_paths ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MoveData.html#structfield.move_paths
49
+ [ `MovePath::place` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MovePath.html#structfield.place
50
+ [ `MovePathIndex` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MovePathIndex.html
51
51
52
52
## Building move paths
53
53
@@ -60,8 +60,8 @@ corresponding [`MovePathIndex`]. It also records when/where that
60
60
particular move path is moved/initialized, but we'll get to that in a
61
61
later section.
62
62
63
- [ `Gatherer` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/builder/struct.Gatherer.html
64
- [ `MoveData::gather_moves` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MoveData.html#method.gather_moves
63
+ [ `Gatherer` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/builder/struct.Gatherer.html
64
+ [ `MoveData::gather_moves` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MoveData.html#method.gather_moves
65
65
66
66
### Illegal move paths
67
67
@@ -82,17 +82,17 @@ those just discussed, the function returns an `Err`. This in turn
82
82
means we don't have to bother tracking whether those places are
83
83
initialized (which lowers overhead).
84
84
85
- [ `move_path_for` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/builder/struct.Gatherer.html#method.move_path_for
85
+ [ `move_path_for` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/builder/struct.Gatherer.html#method.move_path_for
86
86
87
87
## Looking up a move-path
88
88
89
89
If you have a [ ` Place ` ] and you would like to convert it to a [ ` MovePathIndex ` ] , you
90
90
can do that using the [ ` MovePathLookup ` ] structure found in the [ ` rev_lookup ` ] field
91
91
of [ ` MoveData ` ] . There are two different methods:
92
92
93
- [ `MoveData` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MoveData.html
94
- [ `MovePathLookup` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MovePathLookup.html
95
- [ `rev_lookup` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MoveData.html#structfield.rev_lookup
93
+ [ `MoveData` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MoveData.html
94
+ [ `MovePathLookup` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MovePathLookup.html
95
+ [ `rev_lookup` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MoveData.html#structfield.rev_lookup
96
96
97
97
- [ ` find_local ` ] , which takes a [ ` mir::Local ` ] representing a local
98
98
variable. This is the easier method, because we ** always** create a
@@ -105,10 +105,10 @@ of [`MoveData`]. There are two different methods:
105
105
that exists (e.g., for ` foo[1] ` , it might return just the path for
106
106
` foo ` ).
107
107
108
- [ `find` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MovePathLookup.html#method.find
109
- [ `find_local` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MovePathLookup.html#method.find_local
108
+ [ `find` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MovePathLookup.html#method.find
109
+ [ `find_local` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MovePathLookup.html#method.find_local
110
110
[ `mir::Local` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Local.html
111
- [ `LookupResult` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/enum.LookupResult.html
111
+ [ `LookupResult` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/enum.LookupResult.html
112
112
113
113
## Cross-references
114
114
@@ -126,4 +126,4 @@ whether a move-path (e.g., `a.b`) or any child of that move-path
126
126
(e.g.,` a.b.c ` ) matches a given predicate.
127
127
128
128
[ `Place` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/struct.Place.html
129
- [ `find_in_move_path_or_its_descendants` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/dataflow /move_paths/struct.MoveData.html#method.find_in_move_path_or_its_descendants
129
+ [ `find_in_move_path_or_its_descendants` ] : https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir_dataflow /move_paths/struct.MoveData.html#method.find_in_move_path_or_its_descendants
0 commit comments