@@ -122,14 +122,6 @@ pub trait Analysis<'tcx> {
122122 // `resume`). It's not obvious how to handle `yield` points in coroutines, however.
123123 fn initialize_start_block ( & self , body : & mir:: Body < ' tcx > , state : & mut Self :: Domain ) ;
124124
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-
133125 /// Updates the current dataflow state with an "early" effect, i.e. one
134126 /// that occurs immediately before the given statement.
135127 ///
@@ -145,20 +137,13 @@ pub trait Analysis<'tcx> {
145137 ) {
146138 }
147139
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 (
155142 & 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+ ) ;
162147
163148 /// Updates the current dataflow state with an effect that occurs immediately *before* the
164149 /// given terminator.
@@ -175,6 +160,21 @@ pub trait Analysis<'tcx> {
175160 ) {
176161 }
177162
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+
178178 /* Edge-specific effects */
179179
180180 /// Updates the current dataflow state with the effect of a successful return from a `Call`
0 commit comments