-
Notifications
You must be signed in to change notification settings - Fork 13.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not consume semicolon twice while parsing local statement #51629
Do not consume semicolon twice while parsing local statement #51629
Conversation
r? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
@@ -4700,7 +4700,7 @@ impl<'a> Parser<'a> { | |||
if macro_legacy_warnings && self.token != token::Semi { | |||
self.warn_missing_semicolon(); | |||
} else { | |||
self.expect_one_of(&[token::Semi], &[])?; | |||
self.expect_one_of(&[], &[token::Semi])?; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, this was non-obvious, but it looks like there are no cases in which this would change observable behavior.
"No ;
", "1 ;
", "2 ;
" and ">2 ;
" should all be treated same due to contexts in which parse_full_stmt
is used.
@bors r+ rollup |
📌 Commit cafe9d0 has been approved by |
…ocal-span, r=petrochenkov Do not consume semicolon twice while parsing local statement The span for a `let` statement includes multiple semicolons. For example, ```rust let x = 2;;; // ^^^^^^^^^^^ The span for the above statement. ``` This PR fixes it. cc rust-lang/rustfmt#2791.
Rollup of 6 pull requests Successful merges: - #51158 (Mention spec and indented blocks in doctest docs) - #51629 (Do not consume semicolon twice while parsing local statement) - #51637 (Update zx_cprng_draw_new on Fuchsia) - #51664 (make more libsyntax methods public) - #51666 (Disable probestack when GCOV profiling is being used) - #51703 (Recognize the extra "LLVM tools versions" argument to build-manifest.) Failed merges: r? @ghost
The span for a
let
statement includes multiple semicolons. For example,This PR fixes it.
cc rust-lang/rustfmt#2791.