From: Pierre-Emmanuel Patry Date: Wed, 1 Mar 2023 13:13:01 +0000 (+0100) Subject: gccrs: parser: Fix if let parsing X-Git-Tag: basepoints/gcc-15~2820 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d34922c496430cfbfa855f59d45f15de852c2316;p=thirdparty%2Fgcc.git gccrs: parser: Fix if let parsing Fix if let parsing in null_notation function. This problem was due to the current token already being passed in the function parameters and already out of the buffered queue. Hence why the peeked token was let and not if. gcc/rust/ChangeLog: * parse/rust-parse-impl.h (Parser::null_denotation): Fix if let parsing. Signed-off-by: Pierre-Emmanuel Patry --- diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h index 94bc04ccaa5a..de693ebc296f 100644 --- a/gcc/rust/parse/rust-parse-impl.h +++ b/gcc/rust/parse/rust-parse-impl.h @@ -13090,7 +13090,7 @@ Parser::null_denotation (const_TokenPtr tok, return parse_block_expr (std::move (outer_attrs), tok->get_locus ()); case IF: // if or if let, so more lookahead to find out - if (lexer.peek_token (1)->get_id () == LET) + if (lexer.peek_token ()->get_id () == LET) { // if let expr return parse_if_let_expr (std::move (outer_attrs), tok->get_locus ());