@@ -122,14 +122,6 @@ pub trait Analysis<'tcx> {
122
122
// `resume`). It's not obvious how to handle `yield` points in coroutines, however.
123
123
fn initialize_start_block ( & self , body : & mir:: Body < ' tcx > , state : & mut Self :: Domain ) ;
124
124
125
- /// Updates the current dataflow state with the effect of evaluating a statement.
126
- fn apply_primary_statement_effect (
127
- & mut self ,
128
- state : & mut Self :: Domain ,
129
- statement : & mir:: Statement < ' tcx > ,
130
- location : Location ,
131
- ) ;
132
-
133
125
/// Updates the current dataflow state with an "early" effect, i.e. one
134
126
/// that occurs immediately before the given statement.
135
127
///
@@ -145,20 +137,13 @@ pub trait Analysis<'tcx> {
145
137
) {
146
138
}
147
139
148
- /// Updates the current dataflow state with the effect of evaluating a terminator.
149
- ///
150
- /// The effect of a successful return from a `Call` terminator should **not** be accounted for
151
- /// in this function. That should go in `apply_call_return_effect`. For example, in the
152
- /// `InitializedPlaces` analyses, the return place for a function call is not marked as
153
- /// initialized here.
154
- fn apply_primary_terminator_effect < ' mir > (
140
+ /// Updates the current dataflow state with the effect of evaluating a statement.
141
+ fn apply_primary_statement_effect (
155
142
& mut self ,
156
- _state : & mut Self :: Domain ,
157
- terminator : & ' mir mir:: Terminator < ' tcx > ,
158
- _location : Location ,
159
- ) -> TerminatorEdges < ' mir , ' tcx > {
160
- terminator. edges ( )
161
- }
143
+ state : & mut Self :: Domain ,
144
+ statement : & mir:: Statement < ' tcx > ,
145
+ location : Location ,
146
+ ) ;
162
147
163
148
/// Updates the current dataflow state with an effect that occurs immediately *before* the
164
149
/// given terminator.
@@ -175,6 +160,21 @@ pub trait Analysis<'tcx> {
175
160
) {
176
161
}
177
162
163
+ /// Updates the current dataflow state with the effect of evaluating a terminator.
164
+ ///
165
+ /// The effect of a successful return from a `Call` terminator should **not** be accounted for
166
+ /// in this function. That should go in `apply_call_return_effect`. For example, in the
167
+ /// `InitializedPlaces` analyses, the return place for a function call is not marked as
168
+ /// initialized here.
169
+ fn apply_primary_terminator_effect < ' mir > (
170
+ & mut self ,
171
+ _state : & mut Self :: Domain ,
172
+ terminator : & ' mir mir:: Terminator < ' tcx > ,
173
+ _location : Location ,
174
+ ) -> TerminatorEdges < ' mir , ' tcx > {
175
+ terminator. edges ( )
176
+ }
177
+
178
178
/* Edge-specific effects */
179
179
180
180
/// Updates the current dataflow state with the effect of a successful return from a `Call`
0 commit comments