@@ -280,6 +280,14 @@ pub trait MutVisitor: Sized {
280280 fn flat_map_pat_field ( & mut self , fp : PatField ) -> SmallVec < [ PatField ; 1 ] > {
281281 noop_flat_map_pat_field ( fp, self )
282282 }
283+
284+ fn visit_inline_asm ( & mut self , asm : & mut InlineAsm ) {
285+ noop_visit_inline_asm ( asm, self )
286+ }
287+
288+ fn visit_inline_asm_sym ( & mut self , sym : & mut InlineAsmSym ) {
289+ noop_visit_inline_asm_sym ( sym, self )
290+ }
283291}
284292
285293/// Use a map-style function (`FnOnce(T) -> T`) to overwrite a `&mut T`. Useful
@@ -1017,7 +1025,7 @@ pub fn noop_visit_item_kind<T: MutVisitor>(kind: &mut ItemKind, vis: &mut T) {
10171025 }
10181026 }
10191027 ItemKind :: ForeignMod ( nm) => vis. visit_foreign_mod ( nm) ,
1020- ItemKind :: GlobalAsm ( asm) => noop_visit_inline_asm ( asm, vis ) ,
1028+ ItemKind :: GlobalAsm ( asm) => vis . visit_inline_asm ( asm) ,
10211029 ItemKind :: TyAlias ( box TyAlias {
10221030 defaultness, generics, where_clauses, bounds, ty, ..
10231031 } ) => {
@@ -1235,25 +1243,34 @@ pub fn noop_visit_anon_const<T: MutVisitor>(AnonConst { id, value }: &mut AnonCo
12351243 vis. visit_expr ( value) ;
12361244}
12371245
1238- fn noop_visit_inline_asm < T : MutVisitor > ( asm : & mut InlineAsm , vis : & mut T ) {
1246+ pub fn noop_visit_inline_asm < T : MutVisitor > ( asm : & mut InlineAsm , vis : & mut T ) {
12391247 for ( op, _) in & mut asm. operands {
12401248 match op {
12411249 InlineAsmOperand :: In { expr, .. }
12421250 | InlineAsmOperand :: Out { expr : Some ( expr) , .. }
1243- | InlineAsmOperand :: InOut { expr, .. }
1244- | InlineAsmOperand :: Sym { expr, .. } => vis. visit_expr ( expr) ,
1251+ | InlineAsmOperand :: InOut { expr, .. } => vis. visit_expr ( expr) ,
12451252 InlineAsmOperand :: Out { expr : None , .. } => { }
12461253 InlineAsmOperand :: SplitInOut { in_expr, out_expr, .. } => {
12471254 vis. visit_expr ( in_expr) ;
12481255 if let Some ( out_expr) = out_expr {
12491256 vis. visit_expr ( out_expr) ;
12501257 }
12511258 }
1252- InlineAsmOperand :: Const { anon_const, .. } => vis. visit_anon_const ( anon_const) ,
1259+ InlineAsmOperand :: Const { anon_const } => vis. visit_anon_const ( anon_const) ,
1260+ InlineAsmOperand :: Sym { sym } => vis. visit_inline_asm_sym ( sym) ,
12531261 }
12541262 }
12551263}
12561264
1265+ pub fn noop_visit_inline_asm_sym < T : MutVisitor > (
1266+ InlineAsmSym { id, qself, path } : & mut InlineAsmSym ,
1267+ vis : & mut T ,
1268+ ) {
1269+ vis. visit_id ( id) ;
1270+ vis. visit_qself ( qself) ;
1271+ vis. visit_path ( path) ;
1272+ }
1273+
12571274pub fn noop_visit_expr < T : MutVisitor > (
12581275 Expr { kind, id, span, attrs, tokens } : & mut Expr ,
12591276 vis : & mut T ,
@@ -1372,7 +1389,7 @@ pub fn noop_visit_expr<T: MutVisitor>(
13721389 ExprKind :: Ret ( expr) => {
13731390 visit_opt ( expr, |expr| vis. visit_expr ( expr) ) ;
13741391 }
1375- ExprKind :: InlineAsm ( asm) => noop_visit_inline_asm ( asm, vis ) ,
1392+ ExprKind :: InlineAsm ( asm) => vis . visit_inline_asm ( asm) ,
13761393 ExprKind :: MacCall ( mac) => vis. visit_mac_call ( mac) ,
13771394 ExprKind :: Struct ( se) => {
13781395 let StructExpr { qself, path, fields, rest } = se. deref_mut ( ) ;
0 commit comments