mirror of
https://gitee.com/openharmony/third_party_rust_syn
synced 2025-02-18 14:40:40 +00:00
Hide labeled blocks from precedence test
This commit is contained in:
parent
5d08ae619b
commit
61e15e53b4
@ -2458,7 +2458,7 @@ pub mod parsing {
|
||||
named!(unstable_labeled_block -> ExprVerbatim, do_parse!(
|
||||
begin: call!(verbatim::grab_cursor) >>
|
||||
many0!(Attribute::parse_outer) >>
|
||||
option!(syn!(Label)) >>
|
||||
syn!(Label) >>
|
||||
braces!(tuple!(
|
||||
many0!(Attribute::parse_inner),
|
||||
call!(Block::parse_within),
|
||||
|
@ -220,6 +220,12 @@ fn libsyntax_brackets(libsyntax_expr: P<ast::Expr>) -> Option<P<ast::Expr>> {
|
||||
impl Folder for BracketsFolder {
|
||||
fn fold_expr(&mut self, e: P<Expr>) -> P<Expr> {
|
||||
e.map(|e| match e.node {
|
||||
ExprKind::Block(_, label) if label.is_some() => Expr {
|
||||
id: ast::DUMMY_NODE_ID,
|
||||
node: ExprKind::Paren(P(e)),
|
||||
span: DUMMY_SP,
|
||||
attrs: ThinVec::new(),
|
||||
},
|
||||
ExprKind::If(..) | ExprKind::Block(..) | ExprKind::IfLet(..) => {
|
||||
fold::noop_fold_expr(e, self)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user