@@ -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
@@ -1019,7 +1027,7 @@ pub fn noop_visit_item_kind<T: MutVisitor>(kind: &mut ItemKind, vis: &mut T) {
10191027 }
10201028 }
10211029 ItemKind :: ForeignMod ( nm) => vis. visit_foreign_mod ( nm) ,
1022- ItemKind :: GlobalAsm ( asm) => noop_visit_inline_asm ( asm, vis ) ,
1030+ ItemKind :: GlobalAsm ( asm) => vis . visit_inline_asm ( asm) ,
10231031 ItemKind :: TyAlias ( box TyAlias {
10241032 defaultness, generics, where_clauses, bounds, ty, ..
10251033 } ) => {
@@ -1237,25 +1245,34 @@ pub fn noop_visit_anon_const<T: MutVisitor>(AnonConst { id, value }: &mut AnonCo
12371245 vis. visit_expr ( value) ;
12381246}
12391247
1240- fn noop_visit_inline_asm < T : MutVisitor > ( asm : & mut InlineAsm , vis : & mut T ) {
1248+ pub fn noop_visit_inline_asm < T : MutVisitor > ( asm : & mut InlineAsm , vis : & mut T ) {
12411249 for ( op, _) in & mut asm. operands {
12421250 match op {
12431251 InlineAsmOperand :: In { expr, .. }
12441252 | InlineAsmOperand :: Out { expr : Some ( expr) , .. }
1245- | InlineAsmOperand :: InOut { expr, .. }
1246- | InlineAsmOperand :: Sym { expr, .. } => vis. visit_expr ( expr) ,
1253+ | InlineAsmOperand :: InOut { expr, .. } => vis. visit_expr ( expr) ,
12471254 InlineAsmOperand :: Out { expr : None , .. } => { }
12481255 InlineAsmOperand :: SplitInOut { in_expr, out_expr, .. } => {
12491256 vis. visit_expr ( in_expr) ;
12501257 if let Some ( out_expr) = out_expr {
12511258 vis. visit_expr ( out_expr) ;
12521259 }
12531260 }
1254- InlineAsmOperand :: Const { anon_const, .. } => vis. visit_anon_const ( anon_const) ,
1261+ InlineAsmOperand :: Const { anon_const } => vis. visit_anon_const ( anon_const) ,
1262+ InlineAsmOperand :: Sym { sym } => vis. visit_inline_asm_sym ( sym) ,
12551263 }
12561264 }
12571265}
12581266
1267+ pub fn noop_visit_inline_asm_sym < T : MutVisitor > (
1268+ InlineAsmSym { id, qself, path } : & mut InlineAsmSym ,
1269+ vis : & mut T ,
1270+ ) {
1271+ vis. visit_id ( id) ;
1272+ vis. visit_qself ( qself) ;
1273+ vis. visit_path ( path) ;
1274+ }
1275+
12591276pub fn noop_visit_expr < T : MutVisitor > (
12601277 Expr { kind, id, span, attrs, tokens } : & mut Expr ,
12611278 vis : & mut T ,
@@ -1374,7 +1391,7 @@ pub fn noop_visit_expr<T: MutVisitor>(
13741391 ExprKind :: Ret ( expr) => {
13751392 visit_opt ( expr, |expr| vis. visit_expr ( expr) ) ;
13761393 }
1377- ExprKind :: InlineAsm ( asm) => noop_visit_inline_asm ( asm, vis ) ,
1394+ ExprKind :: InlineAsm ( asm) => vis . visit_inline_asm ( asm) ,
13781395 ExprKind :: MacCall ( mac) => vis. visit_mac_call ( mac) ,
13791396 ExprKind :: Struct ( se) => {
13801397 let StructExpr { qself, path, fields, rest } = se. deref_mut ( ) ;
0 commit comments