diff options
| author | bors <bors@rust-lang.org> | 2019-12-23 18:28:33 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-12-23 18:28:33 +0000 |
| commit | 9ae6cedb8d1e37469be1434642a3e403fce50a03 (patch) | |
| tree | 94ea2d34cd99239633126bd50f0f0a5663e233b3 /src/libsyntax | |
| parent | a916ac22b9f7f1f0f7aba0a41a789b3ecd765018 (diff) | |
| parent | 68a9a2d64888be73fda2d00ea1f5c121bc08164b (diff) | |
Auto merge of #67560 - Centril:rollup-fzdpu9c, r=Centril
Rollup of 8 pull requests
Successful merges:
- #67233 (Add PartialEq and Eq to Cursor)
- #67466 (Require const stability attributes on intrinsics to be able to use them in constant contexts)
- #67507 (Remove mem::uninitalized from tests)
- #67527 (Results show too much)
- #67536 (Move `{hir::lowering -> hir}::is_range_literal`)
- #67538 (Improve diagnostics for invalid assignment)
- #67546 (Fix ICE in mir interpretation)
- #67559 (Document that calling Drop, even after it panics, is UB)
Failed merges:
r? @ghost
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ast.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/mut_visit.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/util/parser.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/visit.rs | 6 |
5 files changed, 8 insertions, 7 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index 9009faa5440..c98942abaf3 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -1216,7 +1216,8 @@ pub enum ExprKind { TryBlock(P<Block>), /// An assignment (`a = foo()`). - Assign(P<Expr>, P<Expr>), + /// The `Span` argument is the span of the `=` token. + Assign(P<Expr>, P<Expr>, Span), /// An assignment with an operator. /// /// E.g., `a += 1`. diff --git a/src/libsyntax/mut_visit.rs b/src/libsyntax/mut_visit.rs index 780323d114e..f6817c713a4 100644 --- a/src/libsyntax/mut_visit.rs +++ b/src/libsyntax/mut_visit.rs @@ -1168,7 +1168,7 @@ pub fn noop_visit_expr<T: MutVisitor>(Expr { kind, id, span, attrs }: &mut Expr, vis.visit_block(body); } ExprKind::Await(expr) => vis.visit_expr(expr), - ExprKind::Assign(el, er) => { + ExprKind::Assign(el, er, _) => { vis.visit_expr(el); vis.visit_expr(er); } diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index dc01f2472b7..b1b667f03be 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -2041,7 +2041,7 @@ impl<'a> State<'a> { self.print_expr_maybe_paren(expr, parser::PREC_POSTFIX); self.s.word(".await"); } - ast::ExprKind::Assign(ref lhs, ref rhs) => { + ast::ExprKind::Assign(ref lhs, ref rhs, _) => { let prec = AssocOp::Assign.precedence() as i8; self.print_expr_maybe_paren(lhs, prec + 1); self.s.space(); diff --git a/src/libsyntax/util/parser.rs b/src/libsyntax/util/parser.rs index 88e3d8daf70..98af382efb0 100644 --- a/src/libsyntax/util/parser.rs +++ b/src/libsyntax/util/parser.rs @@ -378,7 +378,7 @@ pub fn contains_exterior_struct_lit(value: &ast::Expr) -> bool { match value.kind { ast::ExprKind::Struct(..) => true, - ast::ExprKind::Assign(ref lhs, ref rhs) + ast::ExprKind::Assign(ref lhs, ref rhs, _) | ast::ExprKind::AssignOp(_, ref lhs, ref rhs) | ast::ExprKind::Binary(_, ref lhs, ref rhs) => { // X { y: 1 } + X { y: 2 } diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs index d6573a06647..fbc5d133249 100644 --- a/src/libsyntax/visit.rs +++ b/src/libsyntax/visit.rs @@ -766,9 +766,9 @@ pub fn walk_expr<'a, V: Visitor<'a>>(visitor: &mut V, expression: &'a Expr) { visitor.visit_block(body); } ExprKind::Await(ref expr) => visitor.visit_expr(expr), - ExprKind::Assign(ref left_hand_expression, ref right_hand_expression) => { - visitor.visit_expr(left_hand_expression); - visitor.visit_expr(right_hand_expression); + ExprKind::Assign(ref lhs, ref rhs, _) => { + visitor.visit_expr(lhs); + visitor.visit_expr(rhs); } ExprKind::AssignOp(_, ref left_expression, ref right_expression) => { visitor.visit_expr(left_expression); |
