Merge pull request #18908 from jnyfah/error-braces

Fix: Detect missing errors for } braces before else in let...else statements
This commit is contained in:
Lukas Wirth 2025-01-17 13:29:56 +00:00 committed by GitHub
commit cd199eacd0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 637 additions and 12 deletions

View file

@ -134,10 +134,12 @@ pub(super) fn let_stmt(p: &mut Parser<'_>, with_semi: Semicolon) {
// test_err let_else_right_curly_brace
// fn func() { let Some(_) = {Some(1)} else { panic!("h") };}
if let Some(expr) = expr_after_eq {
if BlockLike::is_blocklike(expr.kind()) {
p.error(
"right curly brace `}` before `else` in a `let...else` statement not allowed",
)
if let Some(token) = expr.last_token(p) {
if token == T!['}'] {
p.error(
"right curly brace `}` before `else` in a `let...else` statement not allowed"
)
}
}
}