Skip to content

Commit ded73a8

Browse files
committed
Include unary operator to span for ExprKind::Unary
1 parent e2504cf commit ded73a8

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2632,7 +2632,7 @@ impl<'a> Parser<'a> {
26322632
self.bump();
26332633
let e = self.parse_prefix_expr(None);
26342634
let (span, e) = self.interpolated_or_expr_span(e)?;
2635-
(span, self.mk_unary(UnOp::Not, e))
2635+
(lo.to(span), self.mk_unary(UnOp::Not, e))
26362636
}
26372637
// Suggest `!` for bitwise negation when encountering a `~`
26382638
token::Tilde => {
@@ -2645,26 +2645,26 @@ impl<'a> Parser<'a> {
26452645
err.span_label(span_of_tilde, "did you mean `!`?");
26462646
err.help("use `!` instead of `~` if you meant to perform bitwise negation");
26472647
err.emit();
2648-
(span, self.mk_unary(UnOp::Not, e))
2648+
(lo.to(span), self.mk_unary(UnOp::Not, e))
26492649
}
26502650
token::BinOp(token::Minus) => {
26512651
self.bump();
26522652
let e = self.parse_prefix_expr(None);
26532653
let (span, e) = self.interpolated_or_expr_span(e)?;
2654-
(span, self.mk_unary(UnOp::Neg, e))
2654+
(lo.to(span), self.mk_unary(UnOp::Neg, e))
26552655
}
26562656
token::BinOp(token::Star) => {
26572657
self.bump();
26582658
let e = self.parse_prefix_expr(None);
26592659
let (span, e) = self.interpolated_or_expr_span(e)?;
2660-
(span, self.mk_unary(UnOp::Deref, e))
2660+
(lo.to(span), self.mk_unary(UnOp::Deref, e))
26612661
}
26622662
token::BinOp(token::And) | token::AndAnd => {
26632663
self.expect_and()?;
26642664
let m = self.parse_mutability();
26652665
let e = self.parse_prefix_expr(None);
26662666
let (span, e) = self.interpolated_or_expr_span(e)?;
2667-
(span, ExprKind::AddrOf(m, e))
2667+
(lo.to(span), ExprKind::AddrOf(m, e))
26682668
}
26692669
token::Ident(..) if self.token.is_keyword(keywords::In) => {
26702670
self.bump();
@@ -2675,13 +2675,13 @@ impl<'a> Parser<'a> {
26752675
let blk = self.parse_block()?;
26762676
let span = blk.span;
26772677
let blk_expr = self.mk_expr(span, ExprKind::Block(blk), ThinVec::new());
2678-
(span, ExprKind::InPlace(place, blk_expr))
2678+
(lo.to(span), ExprKind::InPlace(place, blk_expr))
26792679
}
26802680
token::Ident(..) if self.token.is_keyword(keywords::Box) => {
26812681
self.bump();
26822682
let e = self.parse_prefix_expr(None);
26832683
let (span, e) = self.interpolated_or_expr_span(e)?;
2684-
(span, ExprKind::Box(e))
2684+
(lo.to(span), ExprKind::Box(e))
26852685
}
26862686
_ => return self.parse_dot_or_call_expr(Some(attrs))
26872687
};

0 commit comments

Comments
 (0)