]> git.lizzy.rs Git - rust.git/blobdiff - compiler/rustc_expand/src/placeholders.rs
Rollup merge of #104181 - jackh726:known-bug-tests, r=Mark-Simulacrum
[rust.git] / compiler / rustc_expand / src / placeholders.rs
index 3b0d5ddb97b4e184e11b2608a37dbb05a71c719d..faaf3b3fea58916ae2740546351fcfbc1cb0301a 100644 (file)
@@ -55,6 +55,7 @@ fn mac_placeholder() -> P<ast::MacCall> {
         }),
         AstFragmentKind::Expr => AstFragment::Expr(expr_placeholder()),
         AstFragmentKind::OptExpr => AstFragment::OptExpr(Some(expr_placeholder())),
+        AstFragmentKind::MethodReceiverExpr => AstFragment::MethodReceiverExpr(expr_placeholder()),
         AstFragmentKind::Items => AstFragment::Items(smallvec![P(ast::Item {
             id,
             span,
@@ -296,6 +297,13 @@ fn visit_expr(&mut self, expr: &mut P<ast::Expr>) {
         }
     }
 
+    fn visit_method_receiver_expr(&mut self, expr: &mut P<ast::Expr>) {
+        match expr.kind {
+            ast::ExprKind::MacCall(_) => *expr = self.remove(expr.id).make_method_receiver_expr(),
+            _ => noop_visit_expr(expr, self),
+        }
+    }
+
     fn filter_map_expr(&mut self, expr: P<ast::Expr>) -> Option<P<ast::Expr>> {
         match expr.kind {
             ast::ExprKind::MacCall(_) => self.remove(expr.id).make_opt_expr(),