]> git.lizzy.rs Git - rust.git/blobdiff - compiler/rustc_ast/src/visit.rs
Rollup merge of #95710 - fee1-dead-contrib:stabilize_arbitrary_enum_discriminant...
[rust.git] / compiler / rustc_ast / src / visit.rs
index 3f5f0fb51895087bcfbcb04b1ab40e5207c3466a..6f56c1ef0e8daa6ff4e5fad425bd1171a51cc4f6 100644 (file)
@@ -140,6 +140,11 @@ fn visit_anon_const(&mut self, c: &'ast AnonConst) {
     fn visit_expr(&mut self, ex: &'ast Expr) {
         walk_expr(self, ex)
     }
+    /// This method is a hack to workaround unstable of `stmt_expr_attributes`.
+    /// It can be removed once that feature is stabilized.
+    fn visit_method_receiver_expr(&mut self, ex: &'ast Expr) {
+        self.visit_expr(ex)
+    }
     fn visit_expr_post(&mut self, _ex: &'ast Expr) {}
     fn visit_ty(&mut self, t: &'ast Ty) {
         walk_ty(self, t)
@@ -244,14 +249,12 @@ fn visit_inline_asm_sym(&mut self, sym: &'ast InlineAsmSym) {
 
 #[macro_export]
 macro_rules! walk_list {
-    ($visitor: expr, $method: ident, $list: expr) => {
-        for elem in $list {
-            $visitor.$method(elem)
-        }
-    };
-    ($visitor: expr, $method: ident, $list: expr, $($extra_args: expr),*) => {
-        for elem in $list {
-            $visitor.$method(elem, $($extra_args,)*)
+    ($visitor: expr, $method: ident, $list: expr $(, $($extra_args: expr),* )?) => {
+        {
+            #[cfg_attr(not(bootstrap), allow(for_loops_over_fallibles))]
+            for elem in $list {
+                $visitor.$method(elem $(, $($extra_args,)* )?)
+            }
         }
     }
 }