@@ -194,27 +194,17 @@ pub trait MirVisitor {
194194 self . visit_place ( place, PlaceContext :: MUTATING , location) ;
195195 self . visit_rvalue ( rvalue, location) ;
196196 }
197- StatementKind :: FakeRead ( _, place) => {
197+ StatementKind :: FakeRead ( _, place) | StatementKind :: PlaceMention ( place ) => {
198198 self . visit_place ( place, PlaceContext :: NON_MUTATING , location) ;
199199 }
200- StatementKind :: SetDiscriminant { place, .. } => {
200+ StatementKind :: SetDiscriminant { place, .. }
201+ | StatementKind :: Deinit ( place)
202+ | StatementKind :: Retag ( _, place) => {
201203 self . visit_place ( place, PlaceContext :: MUTATING , location) ;
202204 }
203- StatementKind :: Deinit ( place) => {
204- self . visit_place ( place, PlaceContext :: MUTATING , location) ;
205- }
206- StatementKind :: StorageLive ( local) => {
207- self . visit_local ( local, PlaceContext :: NON_USE , location) ;
208- }
209- StatementKind :: StorageDead ( local) => {
205+ StatementKind :: StorageLive ( local) | StatementKind :: StorageDead ( local) => {
210206 self . visit_local ( local, PlaceContext :: NON_USE , location) ;
211207 }
212- StatementKind :: Retag ( _, place) => {
213- self . visit_place ( place, PlaceContext :: MUTATING , location) ;
214- }
215- StatementKind :: PlaceMention ( place) => {
216- self . visit_place ( place, PlaceContext :: NON_MUTATING , location) ;
217- }
218208 StatementKind :: AscribeUserType { place, projections, variance : _ } => {
219209 self . visit_place ( place, PlaceContext :: NON_USE , location) ;
220210 self . visit_user_type_projection ( projections) ;
@@ -234,8 +224,7 @@ pub trait MirVisitor {
234224 self . visit_operand ( count, location) ;
235225 }
236226 } ,
237- StatementKind :: ConstEvalCounter => { }
238- StatementKind :: Nop => { }
227+ StatementKind :: ConstEvalCounter | StatementKind :: Nop => { }
239228 }
240229 }
241230
@@ -304,14 +293,15 @@ pub trait MirVisitor {
304293 location : Location ,
305294 ) {
306295 match elem {
307- ProjectionElem :: Deref => { }
296+ ProjectionElem :: Downcast ( _idx) => { }
297+ ProjectionElem :: ConstantIndex { offset : _, min_length : _, from_end : _ }
298+ | ProjectionElem :: Deref
299+ | ProjectionElem :: Subslice { from : _, to : _, from_end : _ } => { }
308300 ProjectionElem :: Field ( _idx, ty) => self . visit_ty ( ty, location) ,
309301 ProjectionElem :: Index ( local) => self . visit_local ( local, ptx, location) ,
310- ProjectionElem :: ConstantIndex { offset : _, min_length : _, from_end : _ } => { }
311- ProjectionElem :: Subslice { from : _, to : _, from_end : _ } => { }
312- ProjectionElem :: Downcast ( _idx) => { }
313- ProjectionElem :: OpaqueCast ( ty) => self . visit_ty ( ty, location) ,
314- ProjectionElem :: Subtype ( ty) => self . visit_ty ( ty, location) ,
302+ ProjectionElem :: OpaqueCast ( ty) | ProjectionElem :: Subtype ( ty) => {
303+ self . visit_ty ( ty, location)
304+ }
315305 }
316306 }
317307
0 commit comments