Skip to content

Commit c896f06

Browse files
authored
Rollup merge of #130314 - compiler-errors:mac-prec, r=davidtwco
Use the same precedence for all macro-like exprs No need to make these have a different precedence since they're all written like `whatever!(expr)`, and it makes it simpler when adding new macro-based built-in operators in the future.
2 parents 62f2ec9 + c16a904 commit c896f06

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

Diff for: compiler/rustc_ast/src/ast.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -1293,7 +1293,7 @@ impl Expr {
12931293
ExprKind::Binary(op, ..) => ExprPrecedence::Binary(op.node),
12941294
ExprKind::Unary(..) => ExprPrecedence::Unary,
12951295
ExprKind::Lit(_) | ExprKind::IncludedBytes(..) => ExprPrecedence::Lit,
1296-
ExprKind::Type(..) | ExprKind::Cast(..) => ExprPrecedence::Cast,
1296+
ExprKind::Cast(..) => ExprPrecedence::Cast,
12971297
ExprKind::Let(..) => ExprPrecedence::Let,
12981298
ExprKind::If(..) => ExprPrecedence::If,
12991299
ExprKind::While(..) => ExprPrecedence::While,
@@ -1317,17 +1317,18 @@ impl Expr {
13171317
ExprKind::Break(..) => ExprPrecedence::Break,
13181318
ExprKind::Continue(..) => ExprPrecedence::Continue,
13191319
ExprKind::Ret(..) => ExprPrecedence::Ret,
1320-
ExprKind::InlineAsm(..) => ExprPrecedence::InlineAsm,
1321-
ExprKind::OffsetOf(..) => ExprPrecedence::OffsetOf,
1322-
ExprKind::MacCall(..) => ExprPrecedence::Mac,
13231320
ExprKind::Struct(..) => ExprPrecedence::Struct,
13241321
ExprKind::Repeat(..) => ExprPrecedence::Repeat,
13251322
ExprKind::Paren(..) => ExprPrecedence::Paren,
13261323
ExprKind::Try(..) => ExprPrecedence::Try,
13271324
ExprKind::Yield(..) => ExprPrecedence::Yield,
13281325
ExprKind::Yeet(..) => ExprPrecedence::Yeet,
1329-
ExprKind::FormatArgs(..) => ExprPrecedence::FormatArgs,
13301326
ExprKind::Become(..) => ExprPrecedence::Become,
1327+
ExprKind::InlineAsm(..)
1328+
| ExprKind::Type(..)
1329+
| ExprKind::OffsetOf(..)
1330+
| ExprKind::FormatArgs(..)
1331+
| ExprKind::MacCall(..) => ExprPrecedence::Mac,
13311332
ExprKind::Err(_) | ExprKind::Dummy => ExprPrecedence::Err,
13321333
}
13331334
}

Diff for: compiler/rustc_ast/src/util/parser.rs

-6
Original file line numberDiff line numberDiff line change
@@ -265,10 +265,7 @@ pub enum ExprPrecedence {
265265
Field,
266266
Index,
267267
Try,
268-
InlineAsm,
269-
OffsetOf,
270268
Mac,
271-
FormatArgs,
272269

273270
Array,
274271
Repeat,
@@ -333,17 +330,14 @@ impl ExprPrecedence {
333330
| ExprPrecedence::ConstBlock
334331
| ExprPrecedence::Field
335332
| ExprPrecedence::ForLoop
336-
| ExprPrecedence::FormatArgs
337333
| ExprPrecedence::Gen
338334
| ExprPrecedence::If
339335
| ExprPrecedence::Index
340-
| ExprPrecedence::InlineAsm
341336
| ExprPrecedence::Lit
342337
| ExprPrecedence::Loop
343338
| ExprPrecedence::Mac
344339
| ExprPrecedence::Match
345340
| ExprPrecedence::MethodCall
346-
| ExprPrecedence::OffsetOf
347341
| ExprPrecedence::Paren
348342
| ExprPrecedence::Path
349343
| ExprPrecedence::PostfixMatch

Diff for: compiler/rustc_hir/src/hir.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -1726,7 +1726,7 @@ impl Expr<'_> {
17261726
ExprKind::Binary(op, ..) => ExprPrecedence::Binary(op.node),
17271727
ExprKind::Unary(..) => ExprPrecedence::Unary,
17281728
ExprKind::Lit(_) => ExprPrecedence::Lit,
1729-
ExprKind::Type(..) | ExprKind::Cast(..) => ExprPrecedence::Cast,
1729+
ExprKind::Cast(..) => ExprPrecedence::Cast,
17301730
ExprKind::DropTemps(ref expr, ..) => expr.precedence(),
17311731
ExprKind::If(..) => ExprPrecedence::If,
17321732
ExprKind::Let(..) => ExprPrecedence::Let,
@@ -1744,11 +1744,12 @@ impl Expr<'_> {
17441744
ExprKind::Continue(..) => ExprPrecedence::Continue,
17451745
ExprKind::Ret(..) => ExprPrecedence::Ret,
17461746
ExprKind::Become(..) => ExprPrecedence::Become,
1747-
ExprKind::InlineAsm(..) => ExprPrecedence::InlineAsm,
1748-
ExprKind::OffsetOf(..) => ExprPrecedence::OffsetOf,
17491747
ExprKind::Struct(..) => ExprPrecedence::Struct,
17501748
ExprKind::Repeat(..) => ExprPrecedence::Repeat,
17511749
ExprKind::Yield(..) => ExprPrecedence::Yield,
1750+
ExprKind::Type(..) | ExprKind::InlineAsm(..) | ExprKind::OffsetOf(..) => {
1751+
ExprPrecedence::Mac
1752+
}
17521753
ExprKind::Err(_) => ExprPrecedence::Err,
17531754
}
17541755
}

0 commit comments

Comments
 (0)