https://gcc.gnu.org/g:0379764639df76acc2f8605d40b539d55298bfb7

commit r16-7782-g0379764639df76acc2f8605d40b539d55298bfb7
Author: lenny.chiadmi-delage <[email protected]>
Date:   Wed Jan 14 11:17:13 2026 +0000

    gccrs: fix ice on let else expession
    
    added error handling for let else expression.
    
    Fixes Rust-GCC/gccrs#4375
    
    gcc/rust/ChangeLog:
    
            * resolve/rust-late-name-resolver-2.0.cc (Late::visit): Visit
            else_expr if has_else_expr, not init_expr.
    
    Signed-off-by: lenny.chiadmi-delage <[email protected]>

Diff:
---
 gcc/rust/resolve/rust-late-name-resolver-2.0.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/rust/resolve/rust-late-name-resolver-2.0.cc 
b/gcc/rust/resolve/rust-late-name-resolver-2.0.cc
index 1de0ad3a8288..05b2b56b0df6 100644
--- a/gcc/rust/resolve/rust-late-name-resolver-2.0.cc
+++ b/gcc/rust/resolve/rust-late-name-resolver-2.0.cc
@@ -119,7 +119,7 @@ Late::visit (AST::LetStmt &let)
   ctx.bindings.exit ();
 
   if (let.has_else_expr ())
-    visit (let.get_init_expr ());
+    visit (let.get_else_expr ());
 
   // how do we deal with the fact that `let a = blipbloup` should look for a
   // label and cannot go through function ribs, but `let a = blipbloup()` can?

Reply via email to