From f53e02cc0498aca9152c024dd431429029fb5a3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Fri, 13 Feb 2026 07:29:54 +0000 Subject: [PATCH] astgen: fix fnDecl break_inline to use correct node offset Use nodeIndexToRelative(decl_node) = node - proto_node for the break_inline returning func to declaration, matching upstream AstGen.zig:4495. Previously used AST_NODE_OFFSET_NONE which produced incorrect extra data values. Co-Authored-By: Claude Opus 4.6 --- astgen.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/astgen.c b/astgen.c index 997e6d4707..eb6afddd36 100644 --- a/astgen.c +++ b/astgen.c @@ -7453,9 +7453,10 @@ static void fnDecl(AstGenCtx* ag, GenZir* gz, uint32_t* wip_decl_insts, } free(ret_body); - // break_inline returning func to declaration - // (AstGen.zig:4495). - makeBreakInline(&decl_gz, decl_inst, func_ref, AST_NODE_OFFSET_NONE); + // break_inline returning func to declaration (AstGen.zig:4495). + // nodeIndexToRelative(decl_node) = node - decl_gz.decl_node_index. + makeBreakInline( + &decl_gz, decl_inst, func_ref, (int32_t)node - (int32_t)proto_node); // setDeclaration (AstGen.zig:4208-4225). DeclFlagsId decl_id